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 -n 或 nl 处理超大文件可能消耗内存,建议用 less -N 分页查看。
  • 行号偏移:若文件包含多字节字符(如中文),某些工具的行号可能对齐异常,建议使用 vim 或 less。
  • 脚本自动化:在脚本中推荐 grep -n 或 awk,便于结果重定向处理。

总结建议

  • 快速查看:用 cat -n 或 nl。
  • :用 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网卡绑定(Bonding)是一种将多个物理网卡虚拟为一个逻辑网卡的技术,通过绑定可以提升网络带宽、实现链路冗余和负载均衡,确保网络的高可用性和性能,本文将详细介绍Linux网卡绑定的原理、模式选择及具体配置步骤,网卡绑定原理与模式网卡绑定的核心是通过内核中的bonding模块实现,将多个物理网卡(从设……

    2025年9月24日
    33600
  • Linux修改profile配置文件后如何使其立即生效?

    在Linux系统中,profile文件是用户环境配置的核心载体,用于定义环境变量、命令别名、默认路径等系统行为,当用户修改profile文件后,配置不会立即生效,需要通过特定方式重新加载文件或重启环境,才能使新配置对当前及后续的shell会话产生影响,本文将详细解析Linux中修改profile文件后的生效原理……

    2025年9月9日
    26000
  • Linux如何退出普通用户登录状态?

    在Linux系统中,普通用户的退出操作通常涉及两种核心场景:一是用户主动结束当前会话(如注销、关闭终端),二是管理员协助终止特定用户的会话,由于Linux是多用户多任务操作系统,退出操作需结合权限、会话类型(图形界面/命令行)及具体需求展开,以下是详细操作说明及注意事项,命令行环境下普通用户的退出操作命令行是L……

    2025年10月5日
    20600
  • 如何查看linux内核数

    终端输入命令uname -r可查看Linux内核数

    2025年8月10日
    23400
  • 如何不中断服务?

    推荐方法:使用 logrotate 自动轮替日志适用场景:生产环境长期维护原理:Linux 内置的 logrotate 工具通过定时任务(cron)自动压缩、归档或删除旧日志,避免手动操作风险,操作步骤:编辑配置文件 sudo vim /etc/logrotate.conf # 全局配置sudo vim /et……

    2025年7月31日
    23400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信