我想知道如何让awk从管道输出和文件中获取字符串?
我基本上有一个命令链,最终会吐出一个字符串。我想检查这个字符串对一个csv文件(列用逗号分隔).然后,我想找到文件中的第一行,其中包含csv文件第7列中的字符串,并打印出该行第5列的内容.另外,我不太了解Linux命令行实用程序/awk,所以请随意提出完全不同的方法。:)
CSV文件内容如下所示:
col1,col2,col3,col4,col5,etc...
col1,col2,col3,col4,col5,etc...
etc...
字符串
我的总体思路是:
(rest of commands that will give a string) | awk -F ',' 'if($5 == string){print $7;exit}' filename.txt
型
这可以做到吗?如果是这样,我如何告诉awk与该字符串进行比较?我发现了一些关于在文件名之前使用ARGV[]
和-
符号的东西,但无法使其工作。
2条答案
按热度按时间rvpgvaaj1#
正如Karoly所说,
字符串
如果你想用管子喂awk:
型
我认为第一种选择更有可读性。
tp5buhyn2#
完全跳过temp shell变量:
x
的数据
或者,如果您更喜欢解析语法的副本加上不带分析器的执行: