Examples

awk '/search_pattern/ { action; }' file

필드 구분자 지정하기

$ awk -F':' '{ print $1 }' /etc/passwd  # 구분자를 : 로 지정
$ awk -F'/' '{ print $1 }' /etc/passwd  # 구분자를 / 로 지정

sum 구하기

$ awk '{s+=$1} END {print s}' test.txt  # ' 를 "로 쓰지 않도록 주의한다

마지막 필드 출력하기

$ awk '{print $NF}'

중복된 라인 제거하기

$ awk '!strmap[$0]++' test.txt
  • uniq는 인접한 중복 값들만 제거하지만, 이 방법을 쓰면 파일 전체에서 중복 값을 제거한다.

홀짝 라인을 조인하기

$ # exam 함수에서도 사용한 방법이다
$ awk 'NR%2==0 {print p","$0;} NR%2 {p=$0;}'

대소문자 변환

$ echo 'ASDF' | awk '{print tolower($0)}'
$ echo 'asdf' | awk '{print toupper($0)}'

함께 읽기

  • [[vim-update-book-progress]]