Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 无法将awk命令作为shell脚本运行_Unix_Awk - Fatal编程技术网

Unix 无法将awk命令作为shell脚本运行

Unix 无法将awk命令作为shell脚本运行,unix,awk,Unix,Awk,我试图创建一个shell脚本来搜索多行csv文件中的特定索引。 我正在尝试的代码是: #!/bin/sh echo "please enter the line no. to search: " read line echo "please enter the index to search at: " read index awk -F, 'NR=="$line"{print "$index"}' "$1" 我尝试在shell上使用的awk命令工作得非常好。但是当我试图用这个命令创建一

我试图创建一个shell脚本来搜索多行csv文件中的特定索引。 我正在尝试的代码是:

#!/bin/sh

echo "please enter the line no. to search: "
read line

echo "please enter the index to search at: "
read index

awk -F, 'NR=="$line"{print "$index"}' "$1"
我尝试在shell上使用的awk命令工作得非常好。但是当我试图用这个命令创建一个shell脚本时,它失败了,并且没有输出。它读取行号和索引。然后就没有输出了。 我做错什么了吗

我通过键入以下命令在shell中运行文件:

./fetchvalue.sh newfile.csv

你的报价行不通。试试这个:

awk -F, 'NR=="'$line'"{print $'$index'}' "$1"

不要引用地狱的话,试试这个:

awk-F,-v line=$line-v myindex=$index'NR==line{print$myindex}''1'

(索引在awk中是一个保留字,所以我给它起了一个稍微不同的名字)