📜  如何将行号添加到文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:09:08.018000             🧑  作者: Mango

如何将行号添加到文件 - Shell-Bash

在Shell或Bash中,我们可以使用一些简单的命令来将行号添加到文件中。下面介绍两种常用的方法:

方法一:使用nl命令

nl命令可以将文本文件中的行号添加到每行前面。我们只需要将需要添加行号的文件作为nl命令的参数即可,如下所示:

nl file.txt > file_with_line_number.txt

其中,file.txt是需要添加行号的文件名,file_with_line_number.txt是添加行号后生成的新文件名。如果想让行号右对齐,可以使用nl -nrz file.txt > file_with_line_number.txt命令。具体可以查看man nl命令的帮助文档。

方法二:使用cat命令和awk命令

另一种方法是利用cat命令读取文件中的每一行,然后使用awk命令在每行前面添加行号。具体操作如下:

cat -n file.txt > file_with_line_number.txt

其中,-n选项表示添加行号;file.txt是需要添加行号的文件名,file_with_line_number.txt是添加行号后生成的新文件名。这种方法同样可以使用awk命令来控制行号的格式。例如,要将行号格式化为三位数(不足三位则在前面补0),可以使用以下命令:

cat -n file.txt | awk '{printf("%03d %s\n", $1, $2)}' > file_with_line_number.txt

其中,%03d表示输出整数,占3位,不足3位则在前面补0;$1表示每行的行号,$2表示每行的文本内容。

以上就是两种常用的将行号添加到文件中的方法,您可以根据自己的需要选择一种使用。