使用命令管道作为diff的参数

问题描述 投票:43回答:5

我在完成此简单任务时遇到了麻烦:

cat file | grep -E ^[0-9]+$ > file_grep
diff file file_grep

问题是,我想在没有file_grep的情况下执行此操作>

我尝试过:

diff file `cat file | grep -E ^[0-9]+$`

diff file "`cat file | grep -E ^[0-9]+$`"

和其他一些组合:-),但我无法使它正常工作。当diff获得额外的参数时,总是出现错误,该参数是由grep过滤的文件的内容。

当我想从这样的脚本中使用echo命令输出(使用反引号转义)时,类似的东西总是对我有用:

echo `ls`

谢谢

我在完成此简单任务时遇到麻烦:cat文件| grep -E ^ [0-9] + $> file_grep差异文件file_grep问题是,我想在没有尝试过的file_grep的情况下执行此操作:差异文件`cat文件| grep -...

bash grep diff
5个回答
60
投票

如果使用bash:


42
投票

最简单的方法是:


9
投票
grep -E '^[0-9]+$' file | diff - file

6
投票

尝试替换进程:


4
投票

在bash中,语法为

© www.soinside.com 2019 - 2024. All rights reserved.