gpt4 book ai didi

linux - Bash:查找两个文件之间哪些行没有改变

转载 作者:太空狗 更新时间:2023-10-29 12:14:05 25 4
gpt4 key购买 nike

我有两个文件,每个文件都包含一个计数列表,其中每一行都是特定进程的计数,例如

文件 1:

10
13
12
7
15

文件 2:

13
13
15
21
15

我想做 diff 的逆操作,即找出两个文件之间哪些行没有改变。理想情况下,输出将是行号,以识别停滞的进程,file_out:

2
5

关于潜在重复项:“反向差异”问题实际上是在寻找相同的行,而不考虑它们在文件中的位置(尽管您必须对文件进行排序)。我要求直接比较每个文件中的同一行。

最佳答案

$ paste file1 file2 | awk '$1==$2{print NR}'
2
5

工作原理

第一步使用 paste 将行合并在一起:

$ paste file1 file2
10 13
13 13
12 15
7 21
15 15

第二步是 awk,它检查两列是否相等,$1==$2。如果是,它会打印行(记录)号 NR

关于linux - Bash:查找两个文件之间哪些行没有改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31865933/

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