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

相关推荐

  • Vue如何在Linux系统上安装?

    在Linux系统上安装Vue.js项目通常需要先搭建Node.js环境,因为Vue依赖于Node.js的npm包管理器,以下是详细的安装步骤,涵盖环境准备、Node.js与npm安装、Vue CLI配置以及项目创建全流程,同时针对常见问题提供解决方案,环境准备在开始安装前,需确保Linux系统满足基本要求:建议……

    2025年9月17日
    13700
  • 如何在Linux系统中彻底卸载JDK?

    在Linux系统中卸载JDK(Java Development Kit)是常见的系统维护操作,通常因版本升级、环境冲突或不再需要Java开发环境而进行,卸载过程需根据JDK的安装方式(包管理器安装或手动安装)采用不同方法,同时需注意清理残留文件和环境变量,避免影响后续Java程序运行,以下是详细的卸载步骤及注意……

    2025年9月20日
    15800
  • Linux如何配置支持SMP多处理器协同工作?

    配置Linux支持SMP(对称多处理)是提升服务器和高性能计算系统性能的关键步骤,SMP允许多个CPU核心共享内存和I/O子系统,通过并行处理任务显著提高系统吞吐量,以下是详细的配置流程和优化方法,涵盖硬件基础、内核配置、启动参数、系统调优及工具使用等内容,硬件基础准备SMP配置的前提是硬件支持,需确保以下组件……

    2025年10月9日
    18400
  • Linux如何安装ISO文件?

    准备工作下载ISO文件从官方渠道获取ISO(如Ubuntu、Fedora官网),确保文件完整,验证校验和(以Ubuntu为例):sha256sum ubuntu-22.04.iso # 对比官网提供的校验值备份重要数据操作涉及磁盘写入时,提前备份U盘或硬盘数据,方法1:创建可启动U盘(命令行)适用场景:安装新系……

    2025年7月14日
    17800
  • 如何轻松掌握基础命令工具?

    在Linux系统中,查看显卡信息是硬件管理、驱动安装或性能优化的基础操作,以下是多种可靠方法,涵盖命令行工具和图形界面方案,适用于不同发行版(如Ubuntu、CentOS、Fedora等),操作前请确保拥有终端执行权限(部分命令需sudo),lspci(最常用)作用:列出所有PCI设备(包括显卡),命令:lsp……

    2025年7月28日
    16600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信