在 grep 中将命令输出作为参数传递

在 grep 中将命令输出作为参数传递

我想逐行比较两个文本文件的变化。如果文件存储在本地,我知道我可以使用

grep -Fxvf file1 file2

我遇到了一个问题,因为文件 2 在 Hadoop 文件系统中。我可以使用以下命令读取此文件

hadoop fs -cat /filepath/file2

因此,我自然而然地想将这个结果输入到 grep。我尝试了类似

 grep -Fxvf file1 ${hadoop fs -cat /filepath/file2}

但我明白

-bash:${hadoop fs -cat /filepath/file2}:错误替换

我也尝试过使用 xargs,但没有成功。非常感谢您的帮助。

答案1

感谢@dsstorefile1,我解决了这个问题

grep -Fxvf <(hadoop fs -cat /fielpath/file2 ) file1

相关内容