2017-03-09 74 views
0

我有一個文本文件中所有灰熊步主機的轉儲。下面是該文件的樣子:使用SED在文件中插入換行

(Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89..b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d (Table: network_objects) Name: Bad-Host_89.b.c.d

正如你可以看到,它的一個大巨頭運行上。我想使用sed來匹配(T並在匹配的字符串之前插入一個換行符。基本上我想輸出看起來像這樣:

(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
... 

回答

0

就像這樣:

AMD$ sed 's/(T/\n&/g' File 

(Table: network_objects) Name: Bad-Host_89.b.c.d 
(Table: network_objects) Name: Bad-Host_89.b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89..b.c.d 
(Table: network_objects) Name: Bad-Host_89.b.c.d 
+0

這工作,謝謝! –

+0

也許這是一個GNU擴展 - 我的sed插入一個文字'n'而我不是唯一的 - 請參閱http://www.linuxquestions.org/questions/linux-software-2/sed-insert上的最後一個答案。 -a-換行符 - 爲什麼 - 不 - 不 - 它工作-158806 / –