Linux如何显示文件行号?

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 查看器

适用场景:浏览大文件时实时跳转。
操作步骤

  1. 输入命令:
    less -N filename.log
  2. 使用键盘导航:
    • 空格键:向下翻页
    • q:退出
    • /keyword:搜索关键词(结果带行号)

vim / vi 编辑器

适用场景:编辑文件时需行号参考。
启用行号

  1. 打开文件:
    vim filename.py
  2. 命令模式下输入:
    :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 -nnl 处理超大文件可能消耗内存,建议用 less -N 分页查看。
  • 行号偏移:若文件包含多字节字符(如中文),某些工具的行号可能对齐异常,建议使用 vimless
  • 脚本自动化:在脚本中推荐 grep -nawk,便于结果重定向处理。

总结建议

  • 快速查看:用 cat -nnl
  • :用 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

(0)
酷番叔酷番叔
上一篇 2025年7月29日 11:09
下一篇 2025年7月29日 11:44

相关推荐

  • Linux如何退出或重启系统?

    在Linux系统中,正确执行退出(关机)和重启操作是系统管理的基础技能,不同场景下可能需要使用不同的命令或方法,无论是通过命令行进行精确控制,还是通过图形界面进行直观操作,都需要了解其背后的原理、权限要求及安全注意事项,以避免数据丢失或系统异常,本文将详细介绍Linux系统中退出和重启的多种方式,包括命令行工具……

    2025年9月18日
    5200
  • Linux中如何将文件复制到U盘?详细操作步骤有哪些?

    在Linux系统中将文件复制到U盘是一个常见操作,但需要经过设备识别、挂载、数据传输和卸载等步骤,由于Linux的文件系统结构与Windows不同,操作时需注意文件系统兼容性和权限问题,以下将详细介绍操作流程,涵盖命令行和图形界面两种方式,并解答常见问题,操作前提:识别U盘与文件系统准备识别U盘设备插入U盘后……

    2025年8月22日
    6700
  • linux如何产生中断信号

    Linux 中,可通过 kill 命令向进程发送中断信号,如 kill

    2025年8月18日
    6400
  • Systemd启动为何变慢?

    理解 Linux 中的”刷新”在 Linux 中,“刷新”并非单一操作,而是根据场景分为四类:图形界面刷新:重载桌面或应用视图系统级刷新:同步数据、清理缓存或重载配置网络配置刷新:更新网络设置终端显示刷新:重置命令行显示图形界面刷新(桌面环境)适用于 GNOME、KDE 等桌面用户:快捷键刷新按 F5 或 Ct……

    2025年7月12日
    6500
  • 如何定制自己的linux安装

    Linux安装可先选择适合的发行版,在安装过程中按需勾选软件包,还可手动

    2025年8月10日
    6900

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信