awk在文件中搜索一行

时间:2013-01-31 06:51:47

标签: awk

我试图在其他文件中找到STRING的出现位置:

首先我提取STRING,我想要搜索:

grep STRING test.txt | cut -d"," -f3 | tr -d ' ' 

现在我继续在其他文件中搜索它 - 所以我的命令是:

grep STRING test.txt | cut -d"," -f3 | tr -d ' ' | awk '/$0/' temp.txt

我得到0行输出 - 但手动比较我发现这两个文件中的字符串是通用的吗?

1 个答案:

答案 0 :(得分:1)

你不能那样管。你需要使用一个子shell;类似的东西:

grep $(grep STRING test.txt | cut -d"," -f3 | tr -d ' ') temp.txt

或者,像这样使用awk

awk -F, 'FNR==NR && /STRING/ { gsub(/ /,""); a[$3]; next } FNR!=NR { for (i in a) if ($0 ~ i) { print; next } }' test.txt temp.txt