sim*_*ont 5 macos diff sed pipe
我想看到diff文件中间的段落和包含单个段落的文件之间.
该段落在60文件的行上foo,文件bar仅包含该段落,可能存在细微差别.
我可以用sed这样的方式提取那段:sed -n 60,60p foo.我该如何使用它diff?
以下不工作:
sed -n 60,60p foo | diff bar # diff: missing operand after `foo`
diff bar `sed -n 60,60p foo` # diff: extra operand `in`
Run Code Online (Sandbox Code Playgroud)
我可以:
sed -n 60,60p foo >> tempfile; diff bar tempfile
Run Code Online (Sandbox Code Playgroud)
有没有一个解决方案不要求我暂时使用管道存储?
Mat*_*ias 10
如果使用' - '作为文件参数,diff将从stdin读取:
sed -n 60,60p foo | diff bar -
Run Code Online (Sandbox Code Playgroud)
您可以使用进程替换:
diff bar <(sed -n 60,60p foo)
Run Code Online (Sandbox Code Playgroud)
这也可以用来比较两个进程的输出:
diff <(sed -n 60,60p bar) <(sed -n 60,60p foo)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1713 次 |
| 最近记录: |