我是UNIX新手,可能是一个非常简单的概念。我想把awk的输出设计为返回单列数据(在这种情况下,它是包含FC WWN的几行)并将其用作grep中的搜索参数,就像我使用文件一样包含该列。
我的第一个念头就是打字 grep -f awk {'print $ 3'} myfile myotherfile
显然,这不起作用。我知道我可以简单地用两个命令和一个中间文件(用一个>输出我的awk到一个新文件,并用它来使用grep -f)来做这个,但我想知道是否有办法做这没有添加文件。
背景:我正在使用AIX 5.3和bash
答案 0 :(得分:1)
似乎与GNU grep一起使用的常见习惯用法(不了解AIX grep)是使用-
作为stdin的规范。所以在你的情况下,如果我正确解释了命令,你可以使用:
awk {'print $3'} myfile | grep -f - myotherfile
答案 1 :(得分:1)
您可以使用bash的漂亮$<
bash 成语来将文件名参数替换为指定命令的输出。
fgrep -f <(awk '{print $3}' myfile) myotherfile