Linux下shell處理換行轉空格處理

2021-08-25 08:43:51 字數 523 閱讀 2576

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 ...