포스트

xml 파일에서 특정 문자열 포함하는 태그의 내용 출력

cat, grep, gawk, XML parsing

xml 파일에서 특정 문자열 포함하는 태그의 내용 출력

코드

1
IP1=`cat /Info.xml|grep -i "RFCH"|gawk -F"<" '{print $2}'|gawk -F">" '{print $2}'`


설명

/Info.xml 파일에서 “RFCH” 문자열 추출하기

  1. cat /Info.xml
    • cat은 주어진 파일의 내용을 화면에 출력하는 명령어다. /Info.xml의 내용이 그대로 출력된다.
  2. grep -i "RFCH"
    • grep은 텍스트에서 특정 패턴을 검색하는 명령어이고, -i는 대소문자를 구분하지 않는 옵션이다.
    • 여기까지 거치면 “RFCH” 문자열을 포함하는 라인만 남는다.
  3. gawk -F"<" '{print $2}'
    • gawk는 텍스트 처리용 프로그래밍 언어 AWK의 GNU 버전이다.
    • -F"<"로 입력을 < 기준으로 나누고, {print $2}로 두 번째 부분을 출력한다.
  4. gawk -F">" '{print $2}'
    • 같은 방식으로 이번에는 >를 구분자로 한 번 더 잘라, 태그 안의 내용만 남긴다.


정리하면, 이 코드는 /Info.xml 파일에서 “RFCH” 문자열을 포함하는 태그의 내용을 출력한다.


예시:

/Info.xml에 아래와 같은 내용이 있다면:

1
2
3
<info>
    <RFCH>12345</RFCH>
</info>

위의 코드 조합은 “12345”를 출력한다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.