我有一个文件.txt,有三行
line1
line2
line3
当我在vim中打开file.txt时我想用一个具有字符串"foo"的新行来替换每个CR(回车),类似这样的东西。
$ cat file.txt
line1
foo
line2
foo
line3
foo
也在寻找在bash脚本中使用awk、sed和其他任何东西的可能性。
使用sed,如果您只想用foo
:替换回车
sed 's/x0D$/nfoo/' file.txt
在每行后面添加一行字符串foo
:
sed 's/$/&nfoo/' file.txt
您可以在Vim:中使用此替换
:%s/n/&foo&
或者这个宏:
:%g/^/norm ofoo
$ awk '{print $0 "nfoo"}' file
line1
foo
line2
foo
line3
foo
此模式将在vim中执行您想要的操作。
:%s/n/^Mfoo^M/g
要在模式中插入^M
,请按Ctrl+V,然后按Enter。^M
插入一个换行符,而在该模式中,将实际插入<
、C
、R
和>
您可以在Linux机器上使用r
,而不是^M
。
:%s/n/rfoor/g