shell 不同目录中2个文件的差异

kxe2p93d  于 2023-06-30  发布在  Shell
关注(0)|答案(2)|浏览(142)

我尝试在不同目录下的两个文件上应用diff命令,如下所示:

diff file1 directory/file2

并且它将第二个文件视为它的相对路径是文件本身的名称。有办法让它找到真正的文件吗
在此基础上,我尝试添加-a和--text标志,但我的IDE(我使用vscode powershell扩展)无法识别这些标志。

dgenwo3n

dgenwo3n1#

在Windows PowerShell中,diffCompare-Object cmdlet的别名。
Compare-Object被设计用来比较2个集合,所以如果你想逐行比较两个文本文件的内容,你需要将文件内容读入内存,并将其作为参数传递给Compare-Object
要逐行读取文本文件,请使用Get-Content

Compare-Object (Get-Content file1) (Get-Content directory/file2)

默认情况下,Compare-Object不会强制执行严格的 * 顺序相等 *,因此具有不同顺序的相同行集的两个文件将显示为“相等”。要解决这个问题,请将0参数传递给SyncWindow参数:

Compare-Object (Get-Content file1) (Get-Content directory/file2) -SyncWindow 0
5n0oy7gb

5n0oy7gb2#

作为@Mathias R. Jessen评论道:
diff(gc file1)(gc path/to/file2)

相关问题