如何在文件中添加行号?

Dmi*_*riy 2 unix linux sed

file.txt的内容:

"16875170";"172";"50"
"11005137";"28";"39"
"16981017";"9347";"50"
"13771676";"13";"45"
"5865226";"963";"28"
Run Code Online (Sandbox Code Playgroud)

带有结果的文件:

"1";"16875170";"172";"50"
"2";"11005137";"28";"39"
"3";"16981017";"9347";"50"
"4";"13771676";"13";"45"
"5";"5865226";"963";"28"
Run Code Online (Sandbox Code Playgroud)

zze*_*nnn 6

awk 可以很容易地为你做这件事.

$ cat test.txt
"16875170";"172";"50"
"11005137";"28";"39"
"16981017";"9347";"50"
"13771676";"13";"45"
"5865226";"963";"28"

$ awk '{print "\""NR"\";"$0}' test.txt
"1";"16875170";"172";"50"
"2";"11005137";"28";"39"
"3";"16981017";"9347";"50"
"4";"13771676";"13";"45"
"5";"5865226";"963";"28"
Run Code Online (Sandbox Code Playgroud)

这告诉awk打印一个文字",然后是记录编号,然后是";,然后是该行的其余部分.根据未说明的其他需求(例如引用不是完全必要的),可能有更好的方法使用,但考虑到问题和输出,这是有效的.

用于测试的Grep解决方案:

$ grep ".*" test.txt -n | sed 's/\([0-9]*\):/"\1";/g;'
"1";"16875170";"172";"50"
"2";"11005137";"28";"39"
"3";"16981017";"9347";"50"
"4";"13771676";"13";"45"
"5";"5865226";"963";"28"
Run Code Online (Sandbox Code Playgroud)