gpt4 book ai didi

linux - 打印缺失的单词和文件名 - linux

转载 作者:太空宇宙 更新时间:2023-11-04 10:38:51 24 4
gpt4 key购买 nike

我有两个给定格式的文件:

文件 1:

India 215.0
country 165.0
Indian 163.0
s 133.0
Maoist 103.0
Nepal 89.0
group 85.0
Kathmandu 85.0

文件 2:

Nepal 89.0
would 88.0
Kathmandu 85.0
rule 82.0
king 80.0
parliament 79.0
card 79.0

我想打印出现在一个文件中但不出现在另一个文件中的单词。找到每个单词的文件也应该打印在单词旁边。例如,我希望输出为:

India 215.0, file 1
country 165.0, file 1
group 85.0, file 1
....
....
would 88.0, file 2

我尝试使用:

grep -v file1 file2

我得到了 file2 中不存在的词,但我想要 file1 而不是 file2 中存在的词,反之亦然-versa,以及它们各自的文件名。我怎样才能做到这一点?请帮忙!

最佳答案

# print out all the rows only in file2 and append filename
$ awk 'NR==FNR{a[$1]++;next} !($1 in a){print $0, FILENAME}' file1 file2
would 88.0 file2
rule 82.0 file2
king 80.0 file2
parliament 79.0 file2
card 79.0 file2

# print all the rows only in file1 and append filename
$ awk 'NR==FNR{a[$1]++;next} !($1 in a){print $0, FILENAME}' file2 file1
India 215.0 file1
country 165.0 file1
Indian 163.0 file1
s 133.0 file1
Maoist 103.0 file1
group 85.0 file1

默认的字段分隔符是空格,$1是第一列。

关于linux - 打印缺失的单词和文件名 - linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36119665/

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