![将字符串放在文件的开头,+ 3位增量值](https://linux22.com/image/211399/%E5%B0%86%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%94%BE%E5%9C%A8%E6%96%87%E4%BB%B6%E7%9A%84%E5%BC%80%E5%A4%B4%EF%BC%8C%2B%203%E4%BD%8D%E5%A2%9E%E9%87%8F%E5%80%BC.png)
我想在文件的开头放置一个字符串,+ 一个 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 " "