使用命令行轻松将行号添加到文本文件

终端 “我需要向文本文件添加行号。我指的不是文本编辑器中的行号,而是在文本文件中的每个项目旁边添加一个数字。这有可能实现自动化,还是我必须手动编辑输入 1、2、3 的文件然后变得疯狂?”

是的,您可以轻松地将行号硬编码到文本文件中……我们将向您展示具体操作方法!要完全清楚,这将要做的是在每个新文本行的左侧添加一个计数行号,并在每行前面加上适当的对应数字。这将其硬编码到文本文件中,这意味着它不同于在 TextWrangler、VIM 或 BBEdit 等应用程序中简单地显示行号。

首先,进入终端,您需要在命令行提示符下执行以下操作:

使用 cat 向文本文件添加行号

这是迄今为止最简单的方法:
cat -n file > file_new

只需将“file”替换为您要添加行号的文件名,并将“file_name”更改为导出的名称。

您还可以使用“nl”命令,如下所述:

使用 nl 命令将核心行号写入文本文件

同样,将“filename”和“filenamenumbered”替换为您要添加行号的文件的适当名称:

nl -ba -s ': ' filename > filenamenumbered

这就是全部!您可以使用任一技巧。一些读者在评论中赞同为文本文件中的行编号提供更简单的解决方案。它们按照简单的顺序在上面列出,但我们也会在下面提供一个“awk”解决方案。

mac 终端

首先,确保备份您的文本文件以防万一出现错误(如语法错误)。现在您已经备份了有问题的文本文件,让我们直接将行号写入其中:

awk '{printf("%5d : %s ", NR,$0)}' 文件名 > 文件名编号

filename 是原始文件,filenamenumbered 是您想要调用 awk 命令的输出并附加行号的任何内容。您的输出文本文档现在将在每个行项目之前有一个数字后跟一个冒号:

1: 连字
2: 连字
3: 连字

您的原始文本文件应该保持不变,但如果您犯了语法错误,那么您制作的备份文件将挽救您的一天。此命令适用于任何支持 awk 的 Unix 操作系统,因此请随意在 FreeBSD、Linux、Mac OS X 或您能想到的任何其他变体中运行此命令。