gpt4 book ai didi

linux - 使用linux命令执行设置操作

转载 作者:太空宇宙 更新时间:2023-11-04 03:49:59 25 4
gpt4 key购买 nike

我将以下两个数字列表存储在两个不同的文件中:

File A:
7
1
2
9

File B:
10
8
4
9

现在我想找出集合运算A-B(即只找到那些在A中但不在B中的数字)。有什么方法可以让我使用 linux 命令(如 sed)做同样的事情吗?我知道可以使用 python 来完成此操作,但我只是想知道是否可以使用某些 linux 命令来完成相同的操作?

最佳答案

简单、几乎可以工作的版本是这样的:

grep -v -f file2 file1

也就是说,使用 file2 中的行作为模式;在 file1 中匹配它们并打印未找到的内容(即 file1 - file2)。但是,如果 file1 包含 10 并且 file2 包含 1 会怎样?然后我们遇到一个问题,因为子字符串也匹配。我们可以这样修复它:

grep -v -f <(sed 's/\(.*\)/^\1$/' file2) file1

也就是说,预处理 file2 以在前面添加 ^ 并附加 $,以便匹配整行,而不是 file1 中的子字符串。

关于linux - 使用linux命令执行设置操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26652437/

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