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