2016-05-25 48 views
1

我有具有三個線在VIM新行和圖案替換回車符

line1 
line2 
line3 

一個file.txt的雖然我在vim 打開file.txt的我想替換每CR(回車)用新有字符串「foo」的行,有些事情是這樣的。

$ cat file.txt 
line1 
foo 
line2 
foo 
line3 
foo 

也尋找awk,sed和其他任何東西在bash腳本中的可能性。

回答

2

隨着SED,如果你只是想foo替換回車:

sed 's/$/&\nfoo/' file.txt 
0

這種模式將做你想要的東西:

sed 's/\x0D$/\nfoo/' file.txt 

要每行後用繩子foo添加一行在vim中。

:%s/\n/^Mfoo^M/g 

要在圖案插入^M,按Ctrl鍵 + V然後輸入^M插入新行,而在該模式將字面上插入<CR>

相反的^M,您可以使用\r爲Linux機器。

:%s/\n/\rfoo\r/g 
2

您可以使用此替代Vim中:

:%s/\n/&foo& 

或者這個宏:

:%g/^/norm ofoo 
1
$ awk '{print $0 "\nfoo"}' file 
line1 
foo 
line2 
foo 
line3 
foo