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

Anonim

Brian 问道:“我需要将行号添加到文本文件中。我指的不是文本编辑器中的行号,而是在文本文件中的每个项目旁边添加一个数字。这有可能实现自动化,还是我必须手动编辑文件,键入 1、2、3 并变得疯狂?

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

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

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

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

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

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

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

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

nl -ba -s ': ' 文件名 > 文件名编号

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

-

你也可以使用命令行工具'awk',但它比上面提到的方法稍微复杂一点,如果你有兴趣启动终端我们就走。

首先,一定要备份你的文本文件万一出现问题(比如语法错误)。现在您已经备份了相关文本文件,让我们直接将行号写入其中:

"

awk &39;{printf(%5d : %s\n, NR, $0)}&39; 文件名 > 文件名编号 "

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

1: 单词一行2: 单词一行3: 单词一行

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

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