FIELD

Category
아이템: 
포스트 갯수2

[bash: awk] 특정 위치(field)에 대한 정규표현식 문자열 검색

By 반달가면 | 2017년 4월 11일 | 
awk에서 특정한 위치(field)에 대하여 문자열을 검색하는 방법은 이전에도 정리해 둔 바가 있지만(여기로), 정규표현식(regular expression)으로 검색할 수 있는 훌륭한 방법이 있어서 이것도 정리해 두기로. 예를 들어 my_data.txt 파일에서 3번째 단어가 두자리 16진수인 경우(00~FF)에만 행 전체를 출력하는 상황을 생각해 보자. 정규표현식으로는 "^[0-9A-Fa-f][0-9A-Fa-f]$" 이렇게 될 것이다. awk에서 "[위치] ~ /문자열/" 형식으로 지정해 주면 된다. 터미널창에서 아래와 같이 입력. # my_data.txt에서 세번째 단어가 두자리 16진수면 행 전체 출력 awk '$3 ~ /^[0-9A-Fa-f][0-9A-Fa-f]$/ { print $0