我正在尝试创建一个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
答案 0 :(得分:1)
你的报价不起作用。试试这个:
awk -F, 'NR=="'$line'"{print $'$index'}' "$1"
答案 1 :(得分:0)
而不是通过引用地狱,试试这个:
awk -F, -v line=$line -v myindex=$index 'NR==line {print $myindex}' "$1"
(索引是awk中的保留字,所以我给它一个稍微不同的名字)