내 잡다한 노트

awk 본문

Infra/쉘 스크립트

awk

peanutwalnut 2024. 6. 4. 22:36

awk도 sed와 마찬가지로 자주 까먹는다 ㅎㅎ;;

 

[ 주요 용도 ] 

텍스트 파일의 각 행을 처리하고, 특정 패턴을 찾거나, 데이터 필드를 추출 및 변환하는 데 사용된다.

 

[ 기본 구문]

awk 'pattern { action } ' file

 

pattern 은 매칭 패턴을 의미한다. 행이 이 패턴과 일치하면 action이 실행된다.

action은 수행할 작업이다.

 

필드에 대해 접근할 때는 $숫자 를 사용한다.

여기서 $0 은 전체 행이고, $1, $2 ... 부터 각 필드를 나타낸다.

 

내장 변수가 있는데,,,

NR : 현재 행 번호

NF : 현재 행의 필드 개수

FS : 필드 구분자(Separator). 기본값은 공백이다.

 

[ 예제 ]

echo "Hello World" | awk '{ print $0 }'

 

awk '/pattern/ { print $0 }' file

-> 파일에서 pattern이 포함된 모든 행을 출력한다.

 

awk '$2 > 100 { $3 = "High"; print $0 }' data.txt

-> 두 번째 필드가 100보다 큰 행을 찾아 세번째 필드를 High로 변경한다.

-> 패턴이라는게 조건도 가능함을 알려주는 예제.

 

 

'Infra > 쉘 스크립트' 카테고리의 다른 글

if문  (0) 2024.06.04
sed  (0) 2024.06.04