gpt4 book ai didi

linux - 在 Unix 中寻找集合补码

转载 作者:IT王子 更新时间:2023-10-29 00:47:45 24 4
gpt4 key购买 nike

给定这两个文件:

 $ cat A.txt     $ cat B.txt
3 11
5 1
1 12
2 3
4 2

我想在 B 中找到 A 中“但不是”的行号。它的 unix 命令是什么?

我试过了,但似乎失败了:

comm -3 <(sort -n A.txt) <(sort -n B.txt) | sed 's/\t//g' 

最佳答案

comm -2 -3 <(sort A.txt) <(sort B.txt)

如果我理解正确的话,应该做你想做的事。

编辑:实际上,comm 需要按字典顺序对文件进行排序,因此您不希望 -n 在您的 排序命令:

$ cat A.txt
1
4
112
$ cat B.txt
1
112
# Bad:
$ comm -2 -3 <(sort -n B.txt) <(sort -n B.txt)
4
comm: file 1 is not in sorted order
112
# OK:
$ comm -2 -3 <(sort A.txt) <(sort B.txt)
4

关于linux - 在 Unix 中寻找集合补码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2159988/

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