我想在文件的开头放置一个字符串,+ 一个 3 位增量值。
像这样,
ABC
DEF
GHI
...
到
string001 ABC
string002 DEF
string003 GHI
...........
等等等等。
谢谢。
答案1
perl -n -i -e 'printf "string%03d %s", $., $_' file
将编辑file
i
n 位并string
在前面添加行号 ( $.
) 0
- 填充宽度为 ,3
然后每行添加一个空格。
与 GNU 相同awk
:
gawk -i /usr/share/awk/inplace.awk '{printf "string%03d %s", NR, $0 RT}' file
两者都可以一次编辑多个文件,但要重置每个文件之间的数字前缀,您需要添加;close ARGV if eof
到perl
代码中并在代码中替换NR
为。FNR
gawk
在gawk
,不使用-i inplace
as尝试首先从当前工作目录gawk
加载inplace
扩展(asinplace
或),有人可能已经在其中植入了恶意软件。随系统提供的扩展inplace.awk
的路径可能会有所不同,请参阅输出inplace
gawk
gawk 'BEGIN{print ENVIRON["AWKPATH"]}'
答案2
cat -n my_file | sed 's/^/string/g' | tr -s " "