awk?


awk는 파일 정보, 파일 시스템 정보, 프로세스 정보등  수많은 데이터 중에서 원하는 것을 추출 혹은 데이터 조작 할 수 있게 해주는 유용한 프로그램이다.




awk 사용법 (파일 데이터 추출)


[사용법]

awk 'pattern' filename

awk '{action}'  filename

awk 'pattern' '{action}' filename


예제를 보면서 사용법을 익혀보도록 하겠다.

[file.dat 파일 내용]

 value 1234 가

 test 2345 나

 fire 4818 다

 window 6281 라


위와 같은 파일 내용이 있다고 하면 위의 내용을 아래와 같이 데이터를 조작해 보도록 하겠다.


[value를 포함하는 라인 추출]

 awk '/value/' file.data 

 value 1234 가



[공백 기준으로 첫번째 필드만 출력]

 awk '{printf $1}' file.data 

 value

 test

 fire

 window


[ fire로 시작하는 라인에서 공백 기준으로 1,3번째 필드만 출력]

 awk '/fire/{printf $1, $3}' file.data 

 fire 다






awk 사용법 (명령 후 데이터 추출)


[사용법]

command | awk 'pattern'

command | awk '{action}'

command | awk 'pattern' '{action}'


예제를 보면서 사용법을 익혀보도록 하겠다.

[file.data 를 cat 했을 때 나오는 결과]

 value 1234 가

 test 2345 나

 fire 4818 다

 window 6281 라


위와 같은 명령어를 수행한 후 출력 된 내용을 아래와 같이 데이터를 조작해 보도록 하겠다.


[value를 포함하는 라인 추출]

 cat file.data | awk '/value/'

 value 1234 가



[공백 기준으로 첫번째 필드만 출력]

 cat file.data | awk '{printf $1}'

 value

 test

 fire

 window


[ fire로 시작하는 라인에서 공백 기준으로 1,3번째 필드만 출력]

 cat file.data | awk '/fire/{printf $1, $3}'

 fire 다


위의 예제에서 cat file.data 대신 디스크 정보를 보여주는 df 나 프로세스 상태를 보여주는 ps 등을

넣고 awk를 이용해 사용자가 원하는 데이터를 추출할 수 있다.

반응형

'운영체제(OS) > Linux,Unix' 카테고리의 다른 글

[Centos] 버전 확인  (0) 2023.07.11
[Centos] 방화벽 설정  (0) 2023.07.05
[Unix/Linux] vi, vim ^M 제거  (0) 2017.09.28
[Unix/Linux] ipcs, ipcrm 사용법  (0) 2017.01.10
[Unix/Linux] tar, gz 파일 묶음 압축 사용법  (0) 2017.01.08

+ Recent posts