2012-09-18 94 views
3

使用桑達通過印刷替換模式,我想取代這個長線:桑達在Ubuntu Linux操作系統,在新線

http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN3ETN46WW5.exehttp://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win%207%20Update/IN1AUD25WW5.exehttp://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN2VDO61WW6.exehttp://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN1SRM38WW5.exehttp://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN2VDO63WW5.exehttp://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN6WLN49WW5.exe 

成這樣:

http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN3ETN46WW5.exe 
http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win%207%20Update/IN1AUD25WW5.exe 
http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN2VDO61WW6.exe 

我試過(裏面VIM )

:%s#http://#\nhttp://#g 

它不起作用。

有什麼建議嗎?

+1

你想用'vim'或'sed'或者兩者都做這個嗎? – Thor

回答

3

出於某種原因vim希望在更換\r,因此,如果您更改替換到:

:%s#http://#\r&#g 

它會奏效。

如果你不介意額外的空白,這將在sed工作:

sed 's#http://#\n&#g' infile 
+0

在Vim中,我會使用':%s#http://#\ r&#g'。 –

+0

複製了你的建議。 – Thor

0

如果額外的空格是煩人,你可以使用GNU awk

awk -F "http" '{ for (i=2; i<=NF; i++) print FS $i }' file.txt 

結果:

http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN3ETN46WW5.exe 
http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win%207%20Update/IN1AUD25WW5.exe 
http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN2VDO61WW6.exe 
http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN1SRM38WW5.exe 
http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN2VDO63WW5.exe 
http://download.lenovo.com/UserFiles/Driver/en/Downloads%20and%20Drivers/Z570/Win7/IN6WLN49WW5.exe 
相關問題