这是tr
输出示例
user@linux:~$ tr $ '\n' <<< 'abc$def$ghi'
abc
def
ghi
user@linux:~$
是否可以为每行添加行号?
例如
user@linux:~$ tr $ '\n' <<< 'abc$def$ghi'
1. abc
2. def
3. ghi
user@linux:~$
答案1
您可以将tr
的输出通过管道传输到:
awk '{print NR". "$0}'
例如获取该编号。
对于每个输入记录(默认情况下记录为行),我们先print
输入记录号 ( NR
),后跟". "
完整记录 ( $0
),然后再跟输出记录分隔符(ORS
默认为换行符)。
cat -n
、grep -n '^'
、nl -ba -d$'\n'
、pr -t -n
是对行进行编号的其他方法,但它们都给出了不同的输出格式,并非所有格式都是可移植/标准的,其中一些 ( nl
、pr
) 或其实现在处理某些字符或序列时无法在任意输入上工作。他们输入的字符特别。
请注意,如果输入中存在 NUL 字符,某些实现也会被阻塞(但如果使用运算符 in则awk
不会发生)。<<<
bash
答案2
还有一个带有许多选项的 nl(行数)命令,最初旨在为出版物编辑者提供标准参考(不要对空行、页眉、页脚、按页数:行进行编号等)。通常的标准选项是:nl -ba