合并各種sed命令效果不佳

我正在嘗試使用sed命令通過以下步驟壓縮html文件:

刪除sed -e :a -re 's/<!--.*?-->//g;/<!--/N;//ba'的評論

刪除空行的方式:sed '/^\s*$/d'

刪除前導空格的方式為:sed 's/^\s*//g'

刪除尾部空格的方式:sed 's/\s*$//g'

通過以下方式將所有行合并為一行:sed ':a; N; $!ba; s/\n//g'

以上命令來自網絡上的不同來源,包括Stackoverflow答案。

當我使用pipe(|)操作符鏈接上面的命令時,它工作得很好。但是,當我嘗試使用單個sed命令時,有些函數無法工作:

sed -e :a -re 's/<!--.*?-->//g;/<!--/N;//ba; /^\s*$/d; s/^\s*//g; s/\s*$//g; :a; N; $!ba; s/\n//g' 

盡管所有的行都被合并為一行,但注釋不會被刪除,空格也不會被刪除。

問題在哪里?如何解決?

? 最佳回答:

問題出在哪里

問題是,有些命令旨在處理文件的每一行,而N則將下一行追加到模式空間中,b則修改腳本執行流。這導致更多的命令只在文件的末尾執行,沒有更多的行可供讀取。

注意:要解析XML文件,請使用XML解析器,而不是sed。

如何解決?

它可以通過“編程”來解決——逐個分析sed命令的目的,分析每個sed腳本的預期流,并重寫將按預期工作的代碼。

主站蜘蛛池模板: 亚洲福利一区二区| 一区二区三区美女视频| 国产精品一区12p| 无码国产精品一区二区免费虚拟VR| 日韩精品无码人妻一区二区三区| 亚洲一区在线免费观看| 国产精品无圣光一区二区 | 秋霞午夜一区二区| 国产91精品一区二区麻豆亚洲 | 国精品无码一区二区三区左线| 无码精品人妻一区| 午夜视频久久久久一区| 福利片福利一区二区三区| 无码一区二区三区在线| 亚洲欧美日韩中文字幕在线一区| 无码人妻一区二区三区在线| 久久综合一区二区无码| 曰韩人妻无码一区二区三区综合部 | 国产乱码精品一区三上| 在线|一区二区三区| 国产精品无码一区二区三区不卡| 精品人妻AV一区二区三区| 中文字幕视频一区| 国产91精品一区二区麻豆网站| 麻豆一区二区三区精品视频| 亚洲天堂一区二区| 国产精品亚洲一区二区麻豆 | 一区二区三区中文字幕| 亚洲美女高清一区二区三区| 香蕉在线精品一区二区| 国产午夜精品一区二区三区| 无码日韩精品一区二区三区免费 | 国产激情一区二区三区小说 | 国产一区二区三区精品视频 | 亚洲一区二区三区国产精品| 欧洲精品码一区二区三区免费看| 国产精品区AV一区二区| 亚洲av日韩综合一区在线观看| 78成人精品电影在线播放日韩精品电影一区亚洲| 久久99国产精品一区二区| 精品人妻系列无码一区二区三区|