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如何保存conf

    Linux中,保存conf文件通常可使用文本编辑器编辑后按相应保存快捷键,如vim

    2025年8月16日
    13400
  • Linux如何改变GCC编译器的路径配置?

    在Linux系统中,g++作为C++编译器,其路径的查找依赖于系统的环境变量PATH,当需要改变g++的编译路径时,通常是指让系统从非默认路径(如自定义安装目录)找到g++可执行文件,或切换到不同版本的g++,以下是详细操作方法和注意事项,查看当前g++的编译路径在修改路径前,需先确认系统当前识别的g++位置……

    2025年9月28日
    11300
  • cp命令深度使用技巧

    在Linux系统中,拷贝文件夹是日常操作中的高频需求,无论是备份数据、迁移项目还是部署环境都离不开它,作为开源生态的核心工具,Linux通过命令行提供了高效精准的文件夹拷贝方案,以下从原理到实践详细解析操作方法,兼顾安全性与灵活性:cp(copy)命令是Linux文件操作的基础工具,其核心参数决定了拷贝行为:c……

    2025年7月8日
    17200
  • Linux系统中,如何查看网络端口占用情况及对应的占用进程?

    在Linux系统中,查看网络端口占用情况是系统管理和故障排查中的核心技能,无论是服务启动失败、端口冲突还是安全审计,都需要准确掌握端口的使用状态,本文将详细介绍Linux中查看网络端口占用的三大主流命令——netstat、ss和lsof,通过具体示例和对比分析,帮助用户在不同场景下高效完成端口查询任务,使用ne……

    2025年8月22日
    14700
  • Linux下如何安全重启Java应用?

    重启前的关键准备备份数据与配置重要数据:如数据库连接信息、配置文件(如 application.properties),应用日志:保存当前日志(如 nohup.out)避免丢失,cp /path/to/app.jar /backup/app_$(date +%F).jar # 备份JAR文件cp nohup.o……

    2025年7月29日
    11600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信