Bash 来自管道内容的grep文件内容
我的虚拟文件看起来像这样Bash 来自管道内容的grep文件内容,bash,grep,Bash,Grep,我的虚拟文件看起来像这样 cat dummy_file Tom Jerry COMMAND | Tom Cat Jerry Mouse Spike Dog 我的管道内容看起来像这样 cat dummy_file Tom Jerry COMMAND | Tom Cat Jerry Mouse Spike Dog 我只想grep那些在dummy\u文件中的管道线路 我可以通过创建中间文件来实现这一点 CO
cat dummy_file
Tom
Jerry
COMMAND |
Tom Cat
Jerry Mouse
Spike Dog
我的管道内容看起来像这样
cat dummy_file
Tom
Jerry
COMMAND |
Tom Cat
Jerry Mouse
Spike Dog
我只想grep
那些在dummy\u文件中的管道线路
我可以通过创建中间文件来实现这一点
COMMAND > intermediate_file
grep -w -F -f dummy_file intermediate file
Tom Cat
Jerry Mouse
我如何在不创建中间文件和仅对管道内容进行grep’s piped content的情况下实现这一点?
尝试了这个,但不起作用:
COMMAND |
xargs -I {} grep -w -F -f dummy_file -- NO RESULT
或者这个:
COMMAND |
xargs -I {} grep {} -w -F -f dummy_file -- ALL LINES ARE PRINTED
您可以使用join
命令;)
join--nonocheck order-j1grep
接受stdin的输入。照办
COMMAND | grep -w -F -f dummy_file
您可以通过管道输出命令并调用grep:command | grep“regex”,例如:ps aux | greproot@Giudude谢谢虽然这会更困难。@Giodude,你能把这个作为一个答案吗?我会把它排除在外。这只是巧合,因为join
在指定的列上进行连接,虽然特定的数据集确实在第1列中有所需的信息,但一般来说,数据可能在查找第1列、第2列、第15列或。。。而且,join
真的不能解决这个问题。@JonathanLeffler这就是为什么我们需要一个完整的数据集来提出一个最佳的解决方案。否则我会提出一个替代方案。。。它仍然可以使用,即使这意味着进行一些调整(或完全改变解决方案)。