有没有想过如何在文本文件的标准输出中添加行号? 这个简短的指南解释了如何将行号添加到给定的文本文件中。 有多种方法可以将行号添加到文件中。 在这里,我介绍了 6 种不同的方法来做到这一点。 如果将来遇到任何方法,我将继续添加更多方法。 最好将此指南添加为书签,稍后再回来查看是否有任何补充。
内容
方法 1 – 使用“nl”命令
“nl”命令专用于向文件添加行号。 它将给定文件写入标准输出,并添加行号。 我有一个文件名为 文件.txt 有以下内容。
$ cat file.txt This is line1 This is line2 This is line3 This is line5 This is line8
正如您在上面的输出中看到的,该文件有 8 行,其中有 3 个空行。 让我们添加行号。
为此,请运行:
$ nl file.txt 1 This is line1 2 This is line2 3 This is line3 4 This is line5 5 This is line8
nl 命令不会考虑空行。 它只会将数字添加到非空行。 如果要对包括空白行在内的所有行进行编号,请使用 -b 像下面这样的标志。
$ nl -b a file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
此外,您可以在数字后添加符号/特殊字符。 例如,要在数字后添加点 (.),请运行:
$ nl -s "." file.txt 1.This is line1 2.This is line2 3.This is line3 4.This is line5 5.This is line8
您可能想要对齐输出的宽度。 为此,请使用 -w 标志,如下所示。
$ nl -w2 file.txt
方法 2 – 使用 ‘cat’ 命令
cat 命令用于显示文件的内容。 如果要在文件的输出中添加数字,请使用 -n 标志,如下所示。
$ cat -n file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
或者,您可以将标准输出传递给新文件,如下所示。
$ cat -n file.txt > newfile.txt
您可能还想摆脱重复的空行。
$ cat -s -n file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 This is line8
方法 3 – 使用 ‘awk’ 命令
要使用 awk 命令将行号添加到文件的输出,请运行:
$ awk 'BEGIN{i=1} /.*/{printf "%d.% sn",i,$0; i++}' file.txt 1.This is line1 2.This is line2 3.This is line3 4. 5.This is line5 6. 7. 8.This is line8
可能会注意到,我在 BEGIN 参数中将起始编号指定为 1。 您可以分配您选择的任何其他起始编号,例如 5,如下所示。
$ awk 'BEGIN{i=5} /.*/{printf "%d.% sn",i,$0; i++}' file.txt 5.This is line1 6.This is line2 7.This is line3 8. 9.This is line5 10. 11. 12.This is line8
如果您不想考虑空行,请使用以下命令:
$ awk 'BEGIN{i=0} {if($0 !~ /^$/) {printf ("%d.%s n",i,$0); i++} else { print $0} } ' file.txt
如果您认为上述命令有点难记,请改用以下命令。
$ awk '{ print FNR " " $0 }' file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
如果要增加数字和文本之间的间距,请运行:
$ awk '{ print FNR "t " $0 }' file.txt
方法 4 – 使用“sed”命令
要使用 sed 命令将行号添加到文件的标准输出,请运行:
$ sed '/./=' file.txt | sed '/./N; s/n/ /' 1 This is line1 2 This is line2 3 This is line3 5 This is line5 8 This is line8
sed 命令有一个我最喜欢的很酷的功能。 我们可以显示一个 ñ文件中的第 行。 例如,要显示文件中的第 3 行,请运行:
$ sed -n 3p file.txt This is line3
方法 5 – 使用 ‘less’ 命令
要使用 less 命令将行号添加到文件的标准输出,请运行:
$ less -N file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
方法 6 – 使用“grep”命令
这 grep 命令 可用于搜索包含特定行的行。 例如,如果要将行号添加到具有特定字母的行中 线, 跑:
$ grep -n "line" file.txt 1:This is line1 2:This is line2 3:This is line3 5:This is line5 8:This is line8
请注意,此命令只会将数字添加到包含搜索字符串的行中。 给定文件中的所有其他内容都将被省略。
就这样。 有关上述命令的更多详细信息,请参阅手册页。 您现在知道将行号添加到文本文件的不同方法。 希望这个对你有帮助。 更多好东西即将到来。 敬请关注!
干杯!
感谢您的光临!
帮助我们帮助您:
- 订阅我们的电子邮件通讯: 立即注册
- 支持 OSTechNix: 通过贝宝捐款
- 下载免费的电子书和视频: TradePub 上的 OSTechNix
- 联系我们: Facebook | 推特 | 谷歌加 | 领英 | RSS订阅
祝你有美好的一天!!
将行号添加到文件输出 BASHCLILinuxLinux 命令