cat
命令 + -n
参数
适用场景:快速查看小型文件(避免大文件卡顿)。
命令示例:
cat -n filename.txt
输出效果:
1 Line 1 content
2 Line 2 content
3 Line 3 content
注意:
-n
为所有行编号(包括空行),-b
可跳过空行编号(cat -b filename.txt
)。
nl
命令(专为行号设计)
适用场景:需自定义行号格式或过滤部分内容。
基础用法:
nl filename.txt
高级示例(只对包含特定文本的行编号):
nl -b p'error' logfile.txt # 仅显示含 "error" 的行并编号
参数说明:
-b a
:所有行编号(默认)-b t
:跳过空行-w 4
:行号宽度设为4字符(nl -w 4 file.txt
)
grep
命令 + -n
参数
适用场景:搜索关键词并显示所在行号。
命令示例:
grep -n "search_text" filename.txt
输出效果:
3:search_text found here
7:another search_text line
提示:结合正则表达式可精准定位(如 grep -nE "pattern" file
)。
less
查看器
适用场景:浏览大文件时实时跳转。
操作步骤:
- 输入命令:
less -N filename.log
- 使用键盘导航:
空格键
:向下翻页q
:退出/keyword
:搜索关键词(结果带行号)
vim
/ vi
编辑器
适用场景:编辑文件时需行号参考。
启用行号:
- 打开文件:
vim filename.py
- 命令模式下输入:
:set number # 显示行号 :set nonumber # 关闭行号
快捷键:
gg
:跳转首行G
:跳转末行:123
:跳转至第123行
awk
高级处理
适用场景:自定义行号格式或结合脚本处理。
命令示例:
awk '{print NR, $0}' filename.txt # NR表示当前行号
输出效果:
1 Line 1
2 Line 2
扩展应用(添加前缀):
awk '{printf "[%d] %s\n", NR, $0}' file.txt
注意事项
- 大文件警告:
cat -n
或nl
处理超大文件可能消耗内存,建议用less -N
分页查看。 - 行号偏移:若文件包含多字节字符(如中文),某些工具的行号可能对齐异常,建议使用
vim
或less
。 - 脚本自动化:在脚本中推荐
grep -n
或awk
,便于结果重定向处理。
总结建议
- 快速查看:用
cat -n
或nl
。 - :用
grep -n
。 - 大文件浏览:用
less -N
。 - 编辑文件:用
vim
+:set number
。
引用说明基于 Linux 核心工具手册(GNU Coreutils 9.4)及开发者社区最佳实践整理,确保方法在主流发行版(Ubuntu, CentOS, Debian)中有效,具体命令可通过
man [command]
(如man grep
)查阅官方文档。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9174.html