<acd>
新しい行に移動した後、新しい行と</acd>
値に移動
入力ファイル:
abcd<acd>aghjdkadlkh</acd> <bud> dghakj </bud>
予想出力:
abcd
<acd>
aghjdkadlkh
</acd>
<bud>dghakj</bud>
答え1
sed
ERE( ) 使用-E
:
sed -E 's#</?acd>#\n&\n#g'
s#</?acd>#\n&\n#g
パターンの前後と改行文字に<acd>
置き換える</acd>
<bud> dghakj </bud>
操作後に削除された先行スペースを削除するには、小さな内容を追加しますsed
。
sed -E 's#</?acd>#\n&\n#g' ... | sed 's/^ //'
例:
% sed -E 's#</?acd>#\n&\n#g' <<<'abcd<acd>aghjdkadlkh</acd> <bud> dghakj </bud>'
abcd
<acd>
aghjdkadlkh
</acd>
<bud> dghakj </bud>
% sed -E 's#</?acd>#\n&\n#g' <<<'abcd<acd>aghjdkadlkh</acd> <bud> dghakj </bud>' | sed 's/^ //'
abcd
<acd>
aghjdkadlkh
</acd>
<bud> dghakj </bud>