![sed를 사용하여 문자열의 특정 부분을 삭제하시겠습니까?](https://linux55.com/image/37283/sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%98%20%ED%8A%B9%EC%A0%95%20%EB%B6%80%EB%B6%84%EC%9D%84%20%EC%82%AD%EC%A0%9C%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
$ echo '<a href="mailto:NA?Subject=AB42525216 - FOOBAR bla bla - bla">NA</a>'
<a href="mailto:NA?Subject=AB42525216 - FOOBAR bla bla - bla">NA</a>
$ echo '<a href="mailto:NA?Subject=AB42525216 - FOOBAR bla bla - bla">NA</a>' | sed 's/SOMEMAGIC/NA/g'
NA
내 질문: "echo"에서 문자열을 삭제하기 위해 SOMEMAGIC을 사용하는 방법은 무엇입니까? 구분 기호는 > 제 생각에는
답변1
<a href>xx</a>
태그 내부의 값을 추출하려고하는 것 같습니다. 그렇다면 명령은 다음과 같아야 합니다.
GNU sed:
sed -r 's/^<a [^>]*>([^<]*)<.*$/\1/g' file
기존 sed:
sed 's/^<a [^>]*>\([^<]*\)<.*$/\1/g' file
예:
$ echo '<a href="mailto:NA?Subject=AB42525216 - FOOBAR bla bla - bla">NA</a>' | sed -r 's/^<a [^>]*>([^<]*)<.*$/\1/g'
NA
$ echo '<a href="mailto:NA?Subject=AB42525216 - FOOBAR bla bla - bla">NA</a>' | sed 's/^<a [^>]*>\([^<]*\)<.*$/\1/g'
NA
$ echo '<a href="mailto:NA?Subject=AB42525216 - FOOBAR bla bla - bla">fooooooooooooooobaaaaaaaaaar</a>' | sed 's/^<a [^>]*>\([^<]*\)<.*$/\1/g'
fooooooooooooooobaaaaaaaaaar