面试题答案
一键面试- 仅在file1.txt中出现的行:
comm -23 file1.txt file2.txt
解释:comm
命令用于比较两个已排序的文件,-2
选项表示不显示第二个文件独有的行,-3
选项表示不显示两个文件共有的行,这样就只剩下第一个文件(file1.txt)独有的行。
- 仅在file2.txt中出现的行:
comm -13 file1.txt file2.txt
解释:-1
选项表示不显示第一个文件独有的行,-3
选项表示不显示两个文件共有的行,这样就只剩下第二个文件(file2.txt)独有的行。
- 在两个文件中都出现的行:
comm -12 file1.txt file2.txt
解释:-1
选项表示不显示第一个文件独有的行,-2
选项表示不显示第二个文件独有的行,这样就只剩下两个文件共有的行。
注意:使用comm
命令前,需确保两个文件是按行排序的。如果文件未排序,可以先使用sort
命令进行排序。例如:
sort file1.txt > sorted_file1.txt
sort file2.txt > sorted_file2.txt
然后对排序后的文件使用comm
命令:
comm -23 sorted_file1.txt sorted_file2.txt # 仅在file1.txt中出现的行
comm -13 sorted_file1.txt sorted_file2.txt # 仅在file2.txt中出现的行
comm -12 sorted_file1.txt sorted_file2.txt # 在两个文件中都出现的行