我希望在文件中间的段落和包含单个段落的文件之间看到diff
。
该段落位于文件60
的{{1}}行,文件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`
是否有解决方案不要求我暂时使用管道存储?
答案 0 :(得分:9)
如果使用' - '作为文件参数,diff
将从stdin中读取:
sed -n 60,60p foo | diff bar -
答案 1 :(得分:7)
您可以使用流程替换:
diff bar <(sed -n 60,60p foo)
这也可用于比较两个过程的输出:
diff <(sed -n 60,60p bar) <(sed -n 60,60p foo)