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

总结建议

  • 快速查看:用 cat -nnl
  • :用 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网卡半双工设置指南

    核心概念与注意事项半双工(Half-Duplex):数据只能单向传输(同一时间仅能发送或接收),常见于早期网络设备,适用场景:连接仅支持半双工的设备(如老式Hub),解决全双工模式下的冲突问题(如collisions错误激增),风险提示:现代网络通常使用全双工,强制半双工可能降低带宽利用率,操作需root权限……

    2025年7月28日
    12600
  • Linux vim如何执行命令与脚本?

    在Linux系统中,vim作为强大的文本编辑器,其“执行”涵盖多个维度,包括基础启动、命令执行、脚本加载、自动化操作等,掌握这些执行方式能显著提升编辑效率,基础启动与文件执行vim的执行始于启动命令,不同参数对应不同场景,最基础的是直接输入vim进入无文件编辑界面,或通过vim 文件名打开指定文件(若文件不存在……

    2025年10月4日
    9600
  • 如何将本地文件移入虚拟机Linux系统?

    在虚拟化环境中,将本地文件传输到Linux虚拟机是日常开发、运维或学习中的常见需求,根据虚拟机软件类型(如VMware、VirtualBox)、文件大小及使用场景(图形界面/命令行),可选择不同的传输方法,本文将详细介绍几种主流操作方式,涵盖准备工作、具体步骤及注意事项,帮助用户高效完成文件传输,使用共享文件夹……

    2025年8月29日
    10100
  • Linux系统如何删除用户文件夹的权限?

    在Linux系统中,删除用户时正确处理文件夹权限管理至关重要,否则可能导致文件属主混乱、权限错误甚至数据访问异常,本文将从基础权限概念、删除用户前的准备工作、具体操作步骤及后续权限处理等方面详细说明,确保安全、高效地完成用户删除及权限清理,Linux文件夹权限管理基础Linux文件权限通过“属主(owner……

    2025年9月13日
    8200
  • Linux中如何正确设置PATH环境变量?

    在Linux系统中,PATH环境变量是一个非常重要的配置,它定义了系统在执行命令时会搜索可执行文件的路径列表,当用户在终端输入一个命令时,系统会按照PATH中指定的路径顺序依次查找对应的可执行文件,如果找到则执行,否则提示“命令未找到”,正确设置PATH可以让用户更方便地运行自定义的可执行程序或第三方工具,而无……

    2025年9月22日
    8900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信