移至 <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>
and</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>