如何解决无法将awk命令作为shell脚本运行
| 我试图创建一个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脚本时,它失败并没有输出。它读取行号。和索引。然后根本没有输出。
我做错了什么吗?
我通过键入以下内容在外壳上运行文件:
./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中的保留字,因此我给它起了一个稍有不同的名称)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。