日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sed 替换换行符

發布時間:2024/3/13 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sed 替换换行符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

sed將換行符替換掉,使用sed "s/\n//g" file? 無法實現

上網查了下,使用

sed ":a;N;s/\n//g;ta" file

或者

sed ":a;N;s/\n//g;ba" file

?

:a和ta是配套使用,實現跳轉功能。t是test測試的意思。?
:a和ba的配套使用方式,也可以實現跳轉功能。b是branch分支的意思。

branch循環到文本結束。比如sed ":a;N;s/\n//g;ba" a.txt,轉換成自然語言的描述,就是

while(1) {
?N;
?s/\n//g;
}


test可以根據替換命令的完成是否成功,決定是否跳轉。比如sed ":a;N;s/\n//g;ta" a.txt,轉換成自然語言的描述,就是

while(state == 1) { #注釋:默認state就當是1好了。
?N;
?s/\n//g;??#注釋:成功,返回state為1;否則返回state=0。此state用于跳轉判斷。
}
else {
?last; #注釋:即退出循環語句。
}

第一種方法:使用test跳轉命令,實現替換換行符
sed ":a;N;s/\n//g;ta" file
N是把下一行加入到當前的hold space模式空間里,使之進行后續處理,最后sed會默認打印hold space模式空間里的內容。也就是說,sed是可以處理多行數據的。

第二種方法:使用branch跳轉命令,實現替換換行符
~$ sed ":a;N;s/\n//g;$!ba" file

增加$!ba語句,$的意思是最后一行,不跳轉到標記a處,即退出命令循環。

同理,也可以用下述命令。

~$ sed ":a;$!N;s/\n//g;ba" file
?

轉載? ?https://blog.csdn.net/u011729865/article/details/71773840

?

如何替換\n也就是把所有的行都歸為一行
第一種方式

[root@localhost ~]# sed ':a;N;$!ba;s/\n/ /g' file.txt

?

第二種方式

[root@localhost ~]# tr "\n" " " < file.txt

總結

以上是生活随笔為你收集整理的sed 替换换行符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。