如何在Linux显示文件行号

使用 cat 命令显示行号

cat -n filename.txt
  • 效果:在每行前添加行号(包括空格行)。
  • 示例输出
       1  Linux is powerful
       2  This is line two
       3  
       4  Line four after empty line
  • 适用场景:快速预览小文件。

使用 nl 命令(专业行号工具)

nl filename.txt
  • 特点
    • 默认忽略空行(不显示空行行号)。
    • 支持复杂格式(如自定义行号格式)。
  • 自定义格式示例
    nl -s ": " -w 3 filename.txt  # 行号宽度3字符,分隔符": "
      1: Line one
      2: Line two

使用 grep 显示匹配行的行号

grep -n "search_pattern" filename.txt
  • 效果:仅显示包含关键字的行及其行号。
  • 示例输出
    3:This line contains the pattern
    7:Another match here
  • 适用场景:在大型文件中定位特定内容。

分页查看器 less / more 显示行号

less -N filename.txt   # 启用行号模式
more -n filename.txt   # 显示行号(旧版系统)
  • 操作
    • less 中按 -N 临时切换行号显示。
    • 退出按 q
  • 适用场景:浏览大文件时避免滚动卡顿。

文本编辑器显示行号

  • Vim
    1. 打开文件:vim filename.txt
    2. 命令模式输入::set number(或简写 :set nu)。
    3. 取消行号::set nonumber
  • Nano
    启动时加 -l 参数:nano -l filename.txt

使用 awksed 高级处理

awk '{print NR, $0}' filename.txt  # NR为当前行号
sed '=' filename.txt | sed 'N; s/\n/ /'  # 行号与内容同行显示
  • 优势:可集成到脚本中处理复杂需求(如过滤特定行)。

通过环境变量永久启用行号

  • ~/.bashrc 添加别名
    alias cat='cat -n'
    alias less='less -N'

    执行 source ~/.bashrc 生效。


如何选择?

场景 推荐命令
快速查看小文件 cat -n
忽略空行 nl
搜索特定内容 grep -n
浏览大文件 less -N
编程/编辑 Vim/Nano 行号模式
脚本处理 awksed

引用说明:本文方法基于 GNU Coreutils 官方文档(https://www.gnu.org/software/coreutils/)及 Linux 用户手册(man 命令),测试环境为 Ubuntu 22.04 和 Bash 5.0。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5165.html

(0)
酷番叔酷番叔
上一篇 2025年6月21日 01:15
下一篇 2025年6月21日 01:29

相关推荐

  • linux如何从硬盘启动

    GRUB 引导界面选择从硬盘启动的系统项,或进入

    2025年8月10日
    15000
  • Linux复制粘贴,图形与终端有何不同?

    图形界面下的复制粘贴(与Windows/macOS类似)鼠标操作复制:选中文本/文件 → 右键菜单选择“复制”,或快捷键 Ctrl + C,粘贴:光标定位目标位置 → 右键菜单选择“粘贴”,或快捷键 Ctrl + V,适用场景:文件管理器(如Nautilus)、文本编辑器(如Gedit)、浏览器等,文件操作复制……

    2025年8月5日
    13700
  • 8GB U盘还够用吗?

    目标Linux发行版的ISO镜像(如Ubuntu、Fedora)制作工具:跨平台:Ventoy(推荐)、BalenaEtcherWindows:RufusmacOS/Linux:dd命令、Startup Disk Creator备用电脑(用于制作启动盘)2️⃣ 关键注意事项备份U盘数据:制作过程将格式化U盘验证……

    2025年8月4日
    15200
  • Linux如何删除jobs?

    在Linux操作系统中,jobs指的是通过终端启动的后台任务或挂起的任务,这些任务通常由bash等shell管理,用户可以通过&将任务置于后台运行,或通过Ctrl+Z将前台任务挂起(暂停)并转为后台任务,随着任务执行完毕或不再需要,及时删除无用jobs可以避免系统资源浪费,提升终端操作效率,本文将详细介……

    2025年10月8日
    12500
  • CentOS停更后,最佳替代方案是什么?

    为什么需要编译内核?编译自定义Linux内核通常用于:启用官方内核未包含的特定硬件驱动启用实验性功能或安全模块优化系统性能(如服务器调优)学习操作系统底层原理重要警告:⚠️ 错误的内核操作可能导致系统无法启动⚠️ 建议在虚拟机或测试机操作⚠️ 全程需要root权限准备工作安装编译工具链sudo apt upda……

    2025年7月21日
    15600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信