IT/System Digging

[awk] 버전 파싱

심량 2021. 6. 28. 17:35

기록용으로 남깁니다.

원본 문자열(version.py 파일 내):     current = "0.7.7-2-debug"

원하는 문자열: 0.7.7-2-debug

awk 명령

awk '/current = /{sub(/"/, "", $3); sub(/"/, "", $3); print $3)}' version.py

sub는 sub(a, b, c)가 있으면 c의 값에서 a식에 일치하는 부분을 1개 찾아서 b로 바꿔서 c에다 다시 반영한다는 뜻입니다.

전체 뜻은 version.py 파일에 "current = " 가 있으면 공백으로 구별되는 3번째 항목을 얻어서 "를 한번 지우고 또 한번 지운다음에 출력하는 것입니다. $1 = "current", $2 = "=", $3 = ""0.7.7-2-debug""

따옴표는 2개인데 한 번 밖에 적용이 안되므로 무식하게 2번 씀.. 누가 우아한 방법 있으면 추천 좀..