将字符串放在文件的开头,+ 3位增量值

将字符串放在文件的开头,+ 3位增量值

我想在文件的开头放置一个字符串,+ 一个 3 位增量值。

像这样,

ABC
DEF
GHI
...

string001 ABC
string002 DEF
string003 GHI
...........

等等等等。

谢谢。

答案1

perl -n -i -e 'printf "string%03d %s", $., $_' file

将编辑file in 位并string在前面添加行号 ( $.) 0- 填充宽度为 ,3然后每行添加一个空格。

与 GNU 相同awk

gawk -i /usr/share/awk/inplace.awk '{printf "string%03d %s", NR, $0 RT}' file

两者都可以一次编辑多个文件,但要重置每个文件之间的数字前缀,您需要添加;close ARGV if eofperl代码中并在代码中替换NR为。FNRgawk

gawk不使用-i inplaceas尝试首先从当前工作目录gawk加载inplace扩展(asinplace或),有人可能已经在其中植入了恶意软件。随系统提供的扩展inplace.awk的路径可能会有所不同,请参阅输出inplacegawkgawk 'BEGIN{print ENVIRON["AWKPATH"]}'

答案2

cat -n my_file | sed 's/^/string/g' | tr -s " "

相关内容