2017-10-05 29 views
1

更換特定的換行我有一個擴展.awesome大量文件包含像線以下:擊:用空間

something = 
[51,42,12] 

其中東西= *在所有文件以及** [(數字)

我想擺脫換行符,但不知道如何。我遇到了tr,但擔心它會取代所有換行符。我的文件包含多個我想保留的換行符(僅更改此換行符)。我已經能夠成功地使用sed查找和替換過去的文件,但我特別使用了特殊字符(\ n和=)。另外,我讀的是sed是一行一行,不能處理這樣的事情。

任何指導,將不勝感激。

回答

2

GNU sed的解決方案:

樣品test.awesome文件內容:

some text 
another text 
something = 
[51,42,12] 

text 
text 

的工作:

sed '/something =/{N; s/\n/ /;}' test.awesome 

輸出:

some text 
another text 
something = [51,42,12] 

text 
text 
+0

它說,「sed:1:」/ something =/{N; s/\ n//}「:替換命令中的壞標誌:'}'」 這似乎是Mac用戶的問題。 –

+1

@MelanieShebel,在子命令'sed'/ something =/{N; s/\ n//;}'test.awesome' – RomanPerekhrest