从一个文件中删除另一个文件中的内容

1 unix linux shell command-line grep

我有两个文本文件,file1.txt 和 file2.txt。

file1.txt 包含一个数字列表。file2.txt 还包含一个数字列表,但更多(大部分是来自 file1.txt 的数字)。这就是我想要做的:

我想从 file2.txt 中删除 file1.txt 中的所有数字,并将输出保存到 file3.txt。所以在file3.txt 中,它不会包含file1.txt 中的数字。我怎样才能做到这一点?

Ste*_*eve 5

这是使用的一种方法awk

awk 'FNR==NR { a[$0]; next } !($0 in a)' file1.txt file2.txt > file3.txt
Run Code Online (Sandbox Code Playgroud)

这会将 file1 读入一个数组,然后在遍历 file2 时,它将打印 file2 中不在数组中的行并将它们写入输出文件。如果您有任何问题,请随时提出。干杯。