使用 uniq 比较 2 个字典
Using uniq to compare 2 dictionaries
所以我有两个词典要比较(美式英语 vs 英式英语)。
如何使用 uniq 命令来计算 (-c) 美式英语或英式英语中有多少单词?
另外,如何统计一个词典中的单词出现在另一本词典中的次数?
只是想了解 uniq 如何在更复杂的层面上工作。感谢您的帮助!
而不是 uniq
,为此使用 comm
命令。它会找到两个文件之间共有的行,或者一个文件或另一个文件所独有的行。
这计算了一个字典中的所有单词,而不是两个字典中的所有单词
comm -3 american british | wc -l
这计算了两个词典中的单词:
comm -12 american british | wc -l
默认情况下,comm
在第 1 列中显示仅在第一个文件中的行,在第 2 列中显示仅在第二个文件中的行,在第 3 列中显示两个文件中的行。然后,您可以使用 -[123]
选项告诉它省略指定的列。所以 -3
只显示第 1 列和第 2 列(每个文件中的唯一词),而 -12
只显示第 3 列(常用词)。
它要求对文件进行排序,我假设您的字典文件就是这样。
你也可以用unique来做。它有选项 -u
只显示出现一次的行,-d
只显示重复的行。
sort american british | uniq -u | wc -l # words in just one language
sort american british | uniq -d | wc -l # words in both languages
所以我有两个词典要比较(美式英语 vs 英式英语)。
如何使用 uniq 命令来计算 (-c) 美式英语或英式英语中有多少单词?
另外,如何统计一个词典中的单词出现在另一本词典中的次数?
只是想了解 uniq 如何在更复杂的层面上工作。感谢您的帮助!
而不是 uniq
,为此使用 comm
命令。它会找到两个文件之间共有的行,或者一个文件或另一个文件所独有的行。
这计算了一个字典中的所有单词,而不是两个字典中的所有单词
comm -3 american british | wc -l
这计算了两个词典中的单词:
comm -12 american british | wc -l
默认情况下,comm
在第 1 列中显示仅在第一个文件中的行,在第 2 列中显示仅在第二个文件中的行,在第 3 列中显示两个文件中的行。然后,您可以使用 -[123]
选项告诉它省略指定的列。所以 -3
只显示第 1 列和第 2 列(每个文件中的唯一词),而 -12
只显示第 3 列(常用词)。
它要求对文件进行排序,我假设您的字典文件就是这样。
你也可以用unique来做。它有选项 -u
只显示出现一次的行,-d
只显示重复的行。
sort american british | uniq -u | wc -l # words in just one language
sort american british | uniq -d | wc -l # words in both languages