如何在将diff应用于文件A.txt和B.txt。
后将结果传递到另一个文件假设文件A.txt具有:
a
b
c
文件B.txt有:
a
b
正在运行
diff A.txt B.txt 它将结果表示为c,但如何将其存储在文件C.txt?
中答案 0 :(得分:19)
diff
实用程序在标准输出(通常是控制台)上生成其输出。与任何执行此操作的UNIX实用程序一样,其输出可能非常简单地重定向到如下文件:
diff A.txt B.txt >C.txt
这意味着“使用两个参数(文件diff
和A.txt
)执行命令B.txt
,并将在控制台上显示的所有内容放入文件{{1} }”。错误消息仍将发送到控制台。
要将C.txt
的输出保存到文件而 将其发送到终端,请使用diff
,如下所示:
tee
tee会将数据复制到所有命名文件(此处仅diff A.txt B.txt | tee C.txt
)以及标准输出(很可能是终端)。
答案 1 :(得分:5)
使用>
可以将输出重定向到文件。例如:
diff A.txt B.txt > C.txt
这将导致diff命令的输出保存在名为C.txt的文件中。
答案 2 :(得分:3)
答案 3 :(得分:0)
有些diff
的文件可能无法很好地与输出配合,例如块特殊文件,字符特殊文件和断开的链接。由于这些差异而导致的输出可能会变为标准误差。
有趣的是,当我重定向标准错误时,我仍然错过了一些东西:
diff -qr <DirA> <DirB> 2>&1 > mydiff.txt
查看所有结果的唯一方法是:
diff -qr <DirA> <DirB> |tee mydiff.txt
在复制到外部HD之后,我正在比较live-cd挂载目录的结果