gpt4 book ai didi

shell - AWK 用于逐行检查不同文件的第一列并查看差异

转载 作者:行者123 更新时间:2023-12-01 13:12:33 25 4
gpt4 key购买 nike

我有 2 个这样的文件:

文件1:

fa65c95d0  ./checklist.chk
316856ab2 ./.vscode/settings.json
6075df9cc ./sha256sum.txt
36d59e45b ./md5sum.txt

文件2:

fa65c95d0  ./checklist.chk
222222222 ./.vscode/settings.json
644ddd555 ./sha256sum.txt
36d59e45b ./md5sum.txt

我想逐行比较这些文件的第一列,看看 File2 有什么不同。

期望的输出

./.vscode/settings.json is modified
./sha256sum.txt is modified

我在网上搜索并尝试使用 comm,但是这个脚本并不完全符合我的要求

comm -3 sum1.txt sum2.txt | awk '$1 {print $2}'

为此输出

comm: file 1 is not in sorted order
comm: file 2 is not in sorted order
./.vscode/settings.json
./.vscode/settings.json
./sha256sum.txt
./md5sum.txt
./sha256sum.txt
./md5sum.txt

最佳答案

使用diff(1):

diff file1 file2
2,3c2,3
< 316856ab2 ./.vscode/settings.json
< 6075df9cc ./sha256sum.txt
---
> 222222222 ./.vscode/settings.json
> 644ddd555 ./sha256sum.txt

或统一差异:

diff -u file1 file2
--- file1   2019-12-02 18:44:46.525142623 +0100
+++ file2 2019-12-02 18:44:57.253178157 +0100
@@ -1,4 +1,4 @@
fa65c95d0 ./checklist.chk
-316856ab2 ./.vscode/settings.json
-6075df9cc ./sha256sum.txt
+222222222 ./.vscode/settings.json
+644ddd555 ./sha256sum.txt
36d59e45b ./md5sum.txt

或者vimdiff(1):

vimdiff file1 file2

how vimdiff shows the difference

关于shell - AWK 用于逐行检查不同文件的第一列并查看差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59144002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com