awk는 파일로부터 레코드(record)를 선택하고, 선택된 레코드에 포함된 값을 조작하거나 데이터화 할 수 있습니다.
지정된 파일로부터 데이터를 분류한 다음, 분류된 텍스트 데이터를 바탕으로 패턴 매칭 여부를 검사하거나 데이터 조작 및 연산 등의 액션을 수행하고, 그 결과를 출력하는 기능을 수행합니다.
awk.log 라는 파일을 만들었습니다.
사용법:
1. 파일 내용의 출력
~$awk '{print}' awk.log
파일의 전체 내용을 보여준다. cat awk.log 와 동일하다.
2. 파일의 특정 열만 출력
~$awk '{print $1, $2}' awk.log
$1 = 첫번째 필드
$2 = 두번째 필드
1,2번째 필드만 출력하였다.
3. 특정 열에 문자열 추가하여 출력
~$awk '{print "user:" $1, "score:" $2}' awk.log
1번째 필드 앞에 "user:"를 삽입하여 출력.
2번째 필드 앞에 "score:"를 삽입하여 출력.
4. 특정 문자열을 포함한 행만 출력
~$awk '/A/' awk.log
A가 포함된 열을 출력하였다.
5. 열의 합산
~$awk '{sum += $2} {print sum}' awk.log
행마다 실행한 sum의 결과가 출력된다. 마지막 총계만 출력되도록 해보자.
~$awk '{sum += $2} END {print sum}' awk.log
6. 일치하는 문자의 행 출력
~$awk '$2 == 10 {print $0}' awk.log
https://recipes4dev.tistory.com/171
'IT지식 > 개발' 카테고리의 다른 글
[MySQL] GROUP BY 그룹화 하여 조회하기 (0) | 2020.03.02 |
---|---|
[책] 생활코딩! PHP+MySQL 후기 (0) | 2020.02.17 |
[Linux] grep으로 검색한 문자열에서 특정 문자 추출. uniq 중복 제거 안될 때. (cut uniq sort ) (0) | 2020.02.14 |
[Linux] 원하는 디렉토리/파일/문자열 데이터를 추출해보자. (find | xargs grep) (0) | 2020.02.14 |
[GIT] 특정 파일만 받기 (0) | 2020.02.14 |