如何在Linux上将行号添加到文本文件
时间:2020-03-21 11:42:35 来源:igfitidea点击:
本简要教程说明了如何将行号添加到给定的文本文件中。
有多种向文件中添加行号的方法。
方法1-使用“ nl”命令
“ nl”命令专用于向文件添加行号。
它将给定文件写入标准输出,并添加行号。
我有一个名为file.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.% s\n",i,$awk 'BEGIN{i=5} /.*/{printf "%d.% s\n",i,; 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$awk 'BEGIN{i=0} {if(; 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 '{ print FNR " "!~ /^$/) {printf ("%d.%s \n",i,$awk '{ print FNR "\t "}' 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$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}' file.txt$sed -n 3p file.txt This is line3); i++} else { print$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} } ' file.txt
可能已经注意到,我在BEGIN参数中将起始编号分配为1.
我们可以分配我们选择的任何其他起始号码,例如5,如下所示。
$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
如果我们不想考虑空白行,请使用以下命令:
##代码##如果我们认为上面的命令很难记住,请改用以下命令。
##代码##如果要增加数字和文本之间的间距,请运行:
##代码##方法4-使用“ sed”命令
要使用sed命令将行号添加到文件的标准输出中,请运行:
##代码##sed命令具有我最喜欢的一个很酷的功能。
我们可以显示文件中的第N行。
例如,要显示文件中的第三行,请运行:
方法5-使用“less”命令
要将行号使用less的命令输出到文件的标准输出,请运行:
##代码##方法6-使用“ grep”命令
grep命令可用于搜索包含特定行的行。
如果要将行号添加到具有特定字母的行(例如line)中,请运行:
##代码##请注意,此命令只会将数字添加到包含搜索字符串的行中。
给定文件中的所有其他内容都将被省略。