본문 바로가기

Ubuntu/linux Command

Linux System Command (awk)

728x90

awk는 파일로부터 레코드(record)를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화하는 것을 목적으로 사용하는 프로그램

 

가능한 기능

  • 텍스트 파일의 전체 내용 출력
  • 파일의 특정 필드만 출력
  • 특정 필드에 문자열을 추가해서 출력
  • 패턴이 포함된 레코드 출력
  • 특정 필드에 연산 수행 결과 출력
  • 필드 값 비교에 따라 레코드 출력


구문 

awk 'pattern' filename
awk '{action}' filename
awk 'pattern {action}' filename

 

용례1 

awk '{ print }' ./file.txt       
   pattern 생략.

   file.txt의 모든 레코드 출력.

 


awk '/p/' ./file.txt            

   action 생략.

   file.txt에서 p를 포함하는 레코드 출력.

 

 

용례2 : awk 'length($0) > 10 { print $3, $4, $5} ' ./file.txt

    레코드의 길이가 10 이상인 경우, 세 번째($3), 네 번째($4), 다섯 번째($5) 필드를 출력.

 

 

용례3 : awk 'BEGIN { print "TITLE : Field value 1,2"} {print $1, $2} END {print "Finished"}' file.txt

   "BEGIN"과 "END" 패턴의 사용 예제

 

 

용례4 : awk '{print "STR"$1, "STR"$2}' file.txt

    필드 값에 임의 문자열을 같이 출력.

 

 

용례5 : awk '/STR/' file.txt

    지정된 문자열을 포함하는 레코드만 출력

 

 

용례5 : awk '/STR/' file.txt

    지정된 문자열을 포함하는 레코드만 출력.

 

 

용례6 : awk '{sum += $3} END { print sum }' file.txt

    지정된 필드의 값을 더한 값 출력.

'Ubuntu > linux Command' 카테고리의 다른 글

Linux command : SSH  (0) 2021.09.05
Linux Command (rsync)  (0) 2021.08.16
Linux System Command ( kill )  (0) 2021.08.16
Linux System Command (free)  (0) 2021.08.12
Linux System Command (top)  (0) 2021.08.12