Answers:
awk '{printf "%d\t%s\n", NR, $0}' < filename
awk '{print NR, "\t", $0}'
。
nl
也是错误的。在源代码中,它永远不会为您提供正确的行号,因为它不只计算空格。
nl命令应该执行此操作,但是它也会在行号之前添加空格。它是Linux coreutils的一部分。
nl lines.txt
1 $bkWTN
2 $cV8$.
nl
您省略数字前的空格。只需使用-w1
选项告诉它数字的最小宽度为
-nln
你可以左对齐,如果你不想前行号的空间(S)。另外,要指定制表符分隔符,可以使用-s$'\t'
或-s' '
(在的单引号之间插入制表符,ctrl+v
然后用tab
)。
nl -w1
(从GNU的coreutils 8.24)不未截断的行号。
sed = test.txt | sed 'N;s/\n/\t/'
命令“ sed =“将打印行号,然后是回车,然后是下一行。
表达式“ N; s / \ n / \ t /”将采用每行,获取下一行(即行号和行),并用制表符代替回车符。
\n
是换行符(由于在Unix中首次广泛使用,因此通常称为“换行符”),并且\r
是回车符。Windows使用\r\n
(也称为CRLF
)。
怎么样
cat -n somefile.txt
?
好的,因为我们正在收集实现此目的的方法,
grep -n . file.txt | sed 's/\(^[0-9]*\):/\1 /g'
# this is a tab with Ctrl-V + Tab =====> ----
sed file.txt -e 's/^/\t/' | cat -n | sed -e 's/^\t//'
或对于某些非GNU sed
:
cat file.txt | sed -e 's/^/\\t/' | cat -n | sed -e 's/^\\t//'