MST

星途 面试题库

面试题:Bash中comm命令基本应用

假设有两个文本文件file1.txt和file2.txt,内容如下:file1.txt: apple banana cherry file2.txt: banana cherry date 请使用comm命令找出仅在file1.txt中出现的行、仅在file2.txt中出现的行以及在两个文件中都出现的行,并写出对应的命令。
24.2万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
  1. 仅在file1.txt中出现的行
comm -23 file1.txt file2.txt

解释:comm命令用于比较两个已排序的文件,-2选项表示不显示第二个文件独有的行,-3选项表示不显示两个文件共有的行,这样就只剩下第一个文件(file1.txt)独有的行。

  1. 仅在file2.txt中出现的行
comm -13 file1.txt file2.txt

解释:-1选项表示不显示第一个文件独有的行,-3选项表示不显示两个文件共有的行,这样就只剩下第二个文件(file2.txt)独有的行。

  1. 在两个文件中都出现的行
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  # 在两个文件中都出现的行