[英]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.