sed -i ':label;n;s/\n/ /;b label' abcd
echo `cat abcd` (最理想,字元之間只有乙個空格。)
cat abcd | xargs (最理想,字元之間只有乙個空格。)
vim abcd
11111
22222
4444
56666
7777
執行結果:
解釋:◦:label; 這是乙個標籤,用來實現跳轉處理,名字可以隨便取(label),後面的b label就是跳轉指令
◦n; n是sed的乙個處理命令,追加文字流中的下一行到模式空間進行合併處理,因此是換行符可見
◦s/\n/' '/; s是sed的替換命令,將換行符替換為空格
◦b label 或者 t label b / t 是sed的跳轉命令,跳轉到指定的標籤處
標籤跳轉和n的追加命令實現了每一行的不間斷放入模式處理空間,從而不會漏掉每乙個換行符,而沒有標籤的話跳轉的話,就只能每兩行替換掉乙個換行符。
windows下換行和linux下換行的區別
用以下文字為例 linux下 0000000 h t m l n n h t m l n 0000010 widows下 0000000 h t m l r n r n h t m l 0000010 0000011 由來 在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model ...
window與linux下的換行
回車符號和換行符號產生背景 關於 回車 carriage return 和 換行 line feed 這兩個概念的來歷和區別。在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正...
shell中長命令的換行處理方法示例
前言 考察下面的指令碼 emcc o dist test.html shell file tmp.html source map base dist o3 g4 source map base dist s modularize 1 s export name test s use sdl 2 s ...