Linux如何快速显示文本行号?

基础命令:cat + -n / -b

作用:快速显示文件内容并添加行号
语法

cat -n 文件名    # 显示所有行号(包括空行)
cat -b 文件名    # 仅显示非空行的行号(空行跳过)

示例

cat -n log.txt

输出效果:

     1  第一行内容
     2  第二行内容
     3
     4  第四行内容

专业行号工具:nl

作用:专为行号设计,支持格式定制
语法

nl 文件名                 # 显示行号(默认跳过空行)
nl -ba 文件名            # 显示所有行号(包括空行)
nl -w 2 -s ') ' 文件名   # 定制行号格式(宽度2字符,后缀") ")

示例

nl -ba data.txt

输出效果:

     1  第一行
     2  
     3  第三行

过滤时显示行号:grep + -n

作用:搜索匹配内容时同步显示行号
语法

grep -n "关键词" 文件名

示例

grep -n "error" server.log

输出效果:

15:error: 文件未找到
28:error: 权限拒绝

高级文本处理:awk

作用:灵活控制行号格式与条件
语法

awk '{print NR, $0}' 文件名        # 显示行号+内容
awk 'NF {print NR, $0}' 文件名    # 跳过空行(NF非零)

示例

awk '{printf "[%04d] %s\n", NR, $0}' config.conf

输出效果:

[0001] port=8080
[0002] 
[0003] host=localhost

流编辑器:sed

作用:编辑文件时附加行号
语法

sed '=' 文件名 | sed 'N;s/\n/\t/'   # 显示行号后换行,合并为一行

示例

sed '=' data.txt | sed 'N;s/\n/ /'

输出效果:



分页查看:less + -N

作用:浏览大文件时实时显示行号
语法

less -N 文件名

操作

  • G 跳转至文件末尾
  • 1G 返回首行
  • 按 搜索内容

场景选择建议

需求 推荐命令
快速查看完整文件 cat -n
排除空行 cat -bnl
搜索关键词并定位 grep -n
定制行号格式 awknl
浏览大文件 less -N
脚本中处理行号 awk

注意事项

  1. 特殊字符处理
    • 若文件包含制表符(Tab),cat -n 可能对齐异常,建议用 expand -t 4 文件名 | cat -n 转换空格。
  2. 大文件优化
    • 避免用 cat 处理GB级日志,优先使用 less -Ngrep -n 分段加载。
  3. 行号重置
    • 合并多个文件时,cat -n file1 file2 会连续计数,若需独立计数,结合循环:
      for f in file*; do echo "$f:"; cat -n "$f"; done

Linux列出行号的核心命令包括 cat -n(基础)、nl(专业)、grep -n(搜索)、awk(灵活定制)和 less -N(大文件),根据场景选择工具可显著提升效率,如调试代码推荐 cat -n,分析日志首选 grep -n,掌握这些方法能高效定位数据,提升命令行操作能力。

引用说明基于Linux核心工具手册(GNU Coreutils 9.4)及开发者社区实践总结,参考命令官方文档确保准确性。

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

(0)
酷番叔酷番叔
上一篇 2025年8月7日 01:51
下一篇 2025年8月7日 02:07

相关推荐

  • Linux启动应用有哪些常用方法与步骤?

    Linux作为多用户多任务操作系统,启动应用的方式多样,可根据应用类型(命令行工具、图形界面程序、系统服务等)、运行场景(前台交互、后台静默、定时执行等)选择合适的方法,以下从基础到进阶,详细说明Linux启动应用的多种途径及注意事项,命令行直接启动:最基础的交互式启动命令行终端(Terminal)是Linux……

    2025年8月25日
    12600
  • Linux如何保持系统时间持续准确?

    Linux系统中的时间管理是确保系统稳定运行和服务可靠性的关键环节,涉及系统时间(software clock)与硬件时钟(RTC,Real-Time Clock)的协同工作,以及通过网络协议进行的时间同步,准确的时间不仅影响日志记录、任务调度,还对安全认证、分布式系统协同等场景至关重要,本文将从Linux时间……

    2025年9月17日
    11800
  • Linux下如何创建VFAT分区实现跨平台共享?

    操作前的关键准备备份数据重要提示:分区操作可能导致数据丢失,务必提前备份硬盘数据,确认磁盘标识使用命令查看磁盘信息:sudo fdisk -l输出示例:/dev/sda: 1TB Disk # 目标磁盘(如/dev/sda)/dev/sdb: 32GB USB # 若为U盘,通常显示为/dev/sdb记录目标设……

    2025年7月2日
    15200
  • linux网卡如何恢复原始

    过重启网络服务、检查配置文件并修正错误、重新加载驱动或重启系统来恢复 Linux

    2025年8月16日
    12300
  • Linux摄像头打不开?分步解决指南

    在Linux系统中打开摄像头需先识别硬件并加载驱动,随后通过命令行工具(如ffmpeg)或图形界面应用(如Cheese)访问设备,操作前确保驱动兼容性与权限设置正确以保证安全可靠。

    2025年7月15日
    14700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信