2014-04-15 146 views
1

我怎樣才能將這些線(注意:這僅僅是從一個更大的文件的摘錄):我怎麼能結合這些線路

interface GigabitEthernet0/0 
no ip proxy-arp 
interface GigabitEthernet0/0.202 
no ip proxy-arp 
interface GigabitEthernet0/0.358 
no ip proxy-arp 
interface FastEthernet0/0/1.26 
no ip proxy-arp 
interface GigabitEthernet0/0 
no ip proxy-arp 
interface GigabitEthernet0/0.202 
no ip proxy-arp 
interface GigabitEthernet0/0.358 
no ip proxy-arp 
interface FastEthernet0/0/1.26 
no ip proxy-arp 
interface Loopback0 
no ip proxy-arp 
interface Loopback1 
no ip proxy-arp 
interface Loopback26 
no ip proxy-arp 
interface GigabitEthernet0/0/0 
no ip proxy-arp 

,讓他們像這樣:

interface GigabitEthernet0/0 | no ip proxy-arp 
interface GigabitEthernet0/0.202 | no ip proxy-arp 
interface GigabitEthernet0/0.358 | no ip proxy-arp 
interface FastEthernet0/0/1.26 | no ip proxy-arp 
interface GigabitEthernet0/0 | no ip proxy-arp 
interface GigabitEthernet0/0.202 | no ip proxy-arp 
interface GigabitEthernet0/0.358 | no ip proxy-arp 
interface FastEthernet0/0/1.26 | no ip proxy-arp 
interface Loopback0 | no ip proxy-arp 
interface Loopback1 | no ip proxy-arp 
interface Loopback26 | no ip proxy-arp 
interface GigabitEthernet0/0/0 | no ip proxy-arp 

我試過,我在網上發現了一些不同的解決方案,但沒有人似乎爲我的情況

回答

3

正常工作試試這個sed的一行代碼:

sed 'N;s/\n/ | /;s/\r//g' file.txt 
+0

如果你特別希望前'沒有ip'刪除空間(S),改變''N; S/\ n/| /'到'N; s/\ n */| /'' – anishsane

+0

你好,謝謝你的幫助。我運行這個命令時得到以下內容:|沒有ip proxy-arpEthernet0/0(所有的行都是這種格式) – lacrosse1991

+0

您已經將您的測試文件保存爲CRLF格式...檢查編輯。 – anishsane

0
while IFS= read line1 && IFS= read line2; do 
    printf "%s | %s\n" "$line1" "$line2" 
done < file.txt 
2
awk '{printf "%s%s",$0,(NR%2?"|":"\n")}' file 
+0

你好,謝謝你的幫助。當我運行這個命令時,我得到了以下內容: |沒有ip proxy-arpEthernet0/0 (所有的行都是那種格式) – lacrosse1991

+0

@ lacrosse1991我用你的例子運行命令,它給出了你的問題相同的輸出.... – Kent

+0

你好,anishsane提到該文件是CRLF格式,現在有效,謝謝! – lacrosse1991

3

膏可以做到這一點:

paste -d '|' - - < file