Unix 无法将awk命令作为shell脚本运行
我试图创建一个shell脚本来搜索多行csv文件中的特定索引。 我正在尝试的代码是: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命令工作得非常好。但是当我试图用这个命令创建一
#!/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中是一个保留字,所以我给它起了一个稍微不同的名字)