패턴을 새 줄에 일치

패턴을 새 줄에 일치

<acd>새 행으로 이동한 후 새 행 및 </acd>값으로 이동

입력 파일:

abcd<acd>aghjdkadlkh</acd> <bud> dghakj </bud>

예상 출력:

abcd
<acd>
aghjdkadlkh
</acd>
<bud>dghakj</bud>

답변1

sedERE( ) 사용 -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>

관련 정보