comm 比较文件行
comm
是 Linux 系统下的用于比较两个已排序文件的命令行工具。主要用于找出文件之间的差异或相同之处,例如两个文件中相同的行、仅在第一个文件中的行以及仅在第二个文件中的行。
基本语法
comm [OPTION] FILE1 FILE2
可选参数OPTION
如下:
选项 | 描述 |
---|---|
-1 | 不输出文件1中特有的行 |
-2 | 不输出文件2中特有的行 |
-3 | 不输出两个文件共有的行 |
--check-order | 检查输入是否被正确排序(默认行为) |
--nocheck-order | 不检查输入的排序状态 |
--output-delimiter=STR | 自定义输出列之间的分隔符 |
使用示例
假设有以下两个文件:file1.txt
和file2.txt
:
-
file1.txt:
apple banana cherry
-
file2.txt:
banana date elderberry
1.使用 comm 命令比较文件行
执行 comm 命令:
comm file1.txt file2.txt
输出结果如下:
apple
banana
cherry
date
elderberry
2.只输出第一个文件中存在的行
添加可选参数 -23
执行 comm 命令:
comm -23 file1.txt file2.txt
输出:
apple
cherry
3.只输出第二个文件中存在的行
添加可选参数 -13
执行 comm 命令:
comm -13 file1.txt file2.txt
输出:
date
elderberry
4.输出两个文件中相同的行
添加可选参数 -12
执行 comm 命令:
comm -12 file1.txt file2.txt
输出结果如下:
banana
5.自定义输出列之间的分隔符
添加可选参数 --output-delimiter
执行 comm 命令:
comm --output-delimiter=',' file1.txt file2.txt
输出结果如下:
apple
,,banana
cherry
,date
,elderberry
注意事项
-
输入文件必须是已排序的,否则结果可能不正确。
-
comm
命令的输出通常由三列组成,每列对应于不同类型的行。列号 内容 描述 1 文件1中特有的行 仅在第一个文件中存在的行 2 文件2中特有的行 仅在第二个文件中存在的行 3 两个文件共有的行 在两个文件中都存在的行
less 查看文件内容
less
是一个功能强大的命令行分页器,用于查看大文件或输出内容。它允许用户向前和向后滚动内容,搜索文本,并且非常适合处理大文件或长输出。
基本语法
less [OPTION] filename
less
命令的常用参数如下:
参数 | 说明 |
---|---|
-V | 显示版本信息并退出 |
-F | 自动跟随文件内容更新,如果文件内容适合屏幕,则直接显示,不进入分页模式 |
-M | 显示详细的状态行,如当前行号、总行数等 |
-N | 显示行号 |
-S | 禁用长行自动换行 |
-X | 在退出时不清除屏幕 |
-R | 显示原始控制字符,常用于颜色高亮文本 |
-i | 搜索时忽略大小写 |
-I | 搜索时忽略大小写,并且在搜索后高亮匹配文本 |
-e | 显示退出信息,退出时显示文件名称和总行数 |
-c | 强制清屏模式(在每次分页时清屏) |
+linenumber | 从指定行开始显示文件 |
常用操作快捷键
快捷键 | 说明 |
---|---|
/ keyword | 向下搜索下一个 keyword 匹配项,输入关键词后按 Enter 键 |
? keyword | 向上搜索上一个 keyword 匹配项,输入关键词后按 Enter 键 |
n | 查找下一个匹配项 |
N | 查找上一个匹配项 |
↑ | 向上滚动一行 |
↓ | 向下滚动一行 |
b 或 PageUp | 向上滚动一页 |
Space 或 PageDown | 向下滚动一页 |
g | 跳到文件的开头 |
G | 跳到文件的末尾 |
= | 显示当前行号 |
q | 退出 less 命令 |
使用示例
-
打开文件
filename.txt
进行查看vb 和浏览:less filename.txt
-
输入
?keyword
,keyword
为要搜索的关键词,再按Enter
键向下搜索关键字:?keyword
-
查找关键词匹配项:
- 按
n
键从当前位置向下查找匹配项 - 按
N
键从当前位置向上查找匹配项
- 按
-
按
q
键退出less
more 查看文件内容
more
是一个用于分页显示文本文件内容的命令,通常在 Unix/Linux 系统中使用。该命令会输出一整屏幕的内容,并在屏幕底部展示己显示的该文件的百分比。在 more
输出文件时可以按 h
查看支持的操作快捷键。
注:
more
仅支持向下查看,如果需要向上滚动,可能会受到限制。
基本语法
more [OPTION] filename
可选参数OPTION
如下:
参数 | 描述 |
---|---|
-num | 设置每页显示的行数 |
+num | 从文件的第 num 行开始显示内容 |
-d | 显示提示信息,告知用户如何继续操作。在画面下方显示 [Press space to continue, ‘q’ to quit.] 如果按错键,则会显示 [Press ‘h’ for instructions.] |
-f | 统计文件的逻辑行数(指文件中的实际行),而不是根据屏幕行数进行分页,不受终端屏幕大小的限制 |
-s | 将多个空行压缩,只显示一个空行 |
+/STRING | 从匹配搜索字符串 STRING 的位置开始显示 |
-p | 在每页显示时不清除屏幕,适合查看上下文 |
-c | 清屏后再输出内容,适合清晰显示 |
常见操作快捷键
命令 | 操作 |
---|---|
Space 或 f | 向下滚动一页 |
Enter | 向下滚动一行 |
b | 向上滚动一页 |
/ | 按 / 输入搜索词,然后按 Enter ,搜索关键词 |
n | 跳转到下一个匹配项 |
:f | 显示当前文件名和行号 |
= | 显示当前行号 |
. | 重复上一个命令 |
q | 退出 more |
ctrl-L | 刷新屏幕 |
使用示例
-
显示文件,指定每屏显示10行:
more -10 filename
-
从文件的第5行开始显示:
more +5 filename
-
搜索特定字符串并开始显示:
more +/search_string filename