簡體   English   中英

sed刪除每行中所有出現的模式

[英]sed delete all occurences of pattern in each line

以下命令不會在一行中為每次出現重復該過程...

input_file.txt:

<!--:nl-->hond <span>bob</span><!--:fr-->chien <span>bob</span><!--:nl-->kat<!--:fr-->chat
<!--:nl-->hond<!--:fr-->chien<!--:nl-->kat<!--:fr-->chat

sed命令錯誤:

sed -e 's/\(\<\!--\:nl\--\>\).*\(\<\!--\:fr\--\>\)/\1\2/g' input_file.txt > output_file.txt

當前output_file.txt結果:

<!--:nl--><!--:fr-->chat

所需的output_file.txt結果:

chien <span>bob</span>chat
chienchat

[編輯] hond,chien,kat和chat周圍可能需要保留HTML標記...

您可以使用此sed

sed 's/<!--:nl-->[^<]*<!--:fr-->//g' file

跟隨awk也可能會幫助您。

awk -F'<!--:nl-->|<!--:fr-->' '{print $3$5}'   Input_file

說明:只需將字符串<!--:nl--><!--:fr-->作為字段分隔符,然后打印該行的第3列和第5列(根據您的輸出要求)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM