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休眠的两种主要模式挂起到内存(Suspend-to-RAM)状态:系统暂停运行,数据保存在内存,功耗极低,唤醒方式:按电源键、键盘或鼠标(需硬件支持),开合笔记本盖子(默认触发唤醒),网络唤醒(需预先启用Wake-on-LAN),挂起到硬盘(Suspend-to-Disk / Hibernate)状态……

    2025年6月18日
    12600
  • Linux系统如何切换到root权限?

    在Linux系统中,root用户(也称为超级用户)是拥有最高权限的账户,能够执行所有系统操作,包括安装软件、修改系统配置、管理用户权限、访问所有文件等,正确获取和使用root权限是系统管理的基础,但同时也伴随着安全风险,需谨慎操作,以下将详细介绍Linux系统中获取root权限的多种方法、适用场景及注意事项,r……

    2025年9月19日
    11100
  • AppImage如何轻松运行于任何电脑?

    Linux QQ登录详细指南在Linux系统中登录QQ,目前主要有三种可靠方式:官方原生版本、Wine兼容方案和第三方开源客户端,以下是具体操作步骤及注意事项:官方原生QQ for Linux(推荐首选)适用系统:Ubuntu/Debian、Arch、Fedora等主流发行版优势:腾讯官方维护,安全性高,无兼容……

    2025年7月1日
    11400
  • Linux程序运行时如何切回命令行界面?

    在Linux系统中,当程序在前台运行时,终端会被该程序占用,无法直接输入其他命令,此时需要通过特定操作将程序切换到后台或终止,以返回命令行界面,以下是几种常见的方法及适用场景:组合键操作:Ctrl+Z(挂起到后台)若程序需临时中断但保留运行状态,可使用Ctrl+Z组合键,该操作会将当前前台进程挂起到后台,并暂停……

    2025年8月27日
    10800
  • Linux如何清理cache缓存?内存释放操作方法详解?

    在Linux系统中,缓存(Cache)是内核为了提升系统性能而设计的内存管理机制,主要分为Page Cache(页面缓存,用于缓存文件数据)、dentry cache(目录项缓存,用于缓存文件名到inode的映射)和inode cache(索引节点缓存,用于存储文件元数据),这些缓存能有效减少磁盘I/O操作,提……

    2025年9月16日
    53300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信