Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Linux中存储diff的结果_Linux_File_Diff - Fatal编程技术网

如何在Linux中存储diff的结果

如何在Linux中存储diff的结果,linux,file,diff,Linux,File,Diff,如何在将diff应用于文件A.txt和B.txt后在另一个文件上获得结果 假设文件A.txt具有: a b c 文件B.txt包含: a b 跑步时 diff A.txt B.txt 它以c的形式给出结果,但如何将其存储在文件c.txt中?使用可以将输出重定向到文件。例如: diff A.txt B.txt > C.txt 这将导致diff命令的输出保存在名为C.txt的文件中。diff实用程序在标准输出(通常是控制台)上生成其输出。与任何执行此操作的UNIX实用程序一样,其

如何在将diff应用于文件A.txt和B.txt后在另一个文件上获得结果

假设文件A.txt具有:

a
b
c
文件B.txt包含:

a
b
跑步时

diff A.txt B.txt
它以c的形式给出结果,但如何将其存储在文件c.txt中?

使用
可以将输出重定向到文件。例如:

    diff A.txt B.txt > C.txt

这将导致diff命令的输出保存在名为C.txt的文件中。

diff实用程序在标准输出(通常是控制台)上生成其输出。与任何执行此操作的UNIX实用程序一样,其输出可能非常简单地重定向到如下文件:

diff A.txt B.txt >C.txt
这意味着“使用两个参数(文件
A.txt
B.txt
)执行命令
diff
,并将控制台上显示的所有内容放入文件
C.txt
”。错误消息仍将发送到控制台

要将
diff
的输出保存到文件并发送到终端,请使用
tee
如下所示:

diff A.txt B.txt | tee C.txt
tee将数据复制到所有命名文件(此处仅为
C.txt
)和标准输出(最有可能是终端)。

使用

差异文件1文件2>输出


将存储文件1和文件2的差异以进行输出

有些文件diff可能无法很好地进行输出,例如块特殊文件、字符特殊文件和断开的链接。由于这些差异而产生的输出可能会变成标准误差

有趣的是,当我重定向标准错误时,我仍然遗漏了一些东西:

diff -qr <DirA> <DirB> 2>&1 > mydiff.txt
diff-qr 2>&1>mydiff.txt
看到一切结果的唯一方法是:

diff -qr <DirA> <DirB> |tee mydiff.txt
diff-qr | tee mydiff.txt

在复制到外部HD后,我正在比较一个安装了live cd的目录的结果-奇怪的是,您没有阅读基础知识。无论如何,你的问题很可能会被投票关闭。你关闭它…谁在乎…我得到了我的答案…我发现这很有用-谢谢。有可能同时将差异输出到文件和屏幕上吗?这尤其与使用
diff-rq
的文件夹差异有关,有时可能需要很长时间。。在屏幕上看到实际输出也会很有用。@alpha989绝对:
diff A.txt B.txt | tee C.txt
tee
将数据复制到所有命名文件(此处仅
C.txt
)和标准输出。