END

포스트: 10|아이템:종점(0)
Tags

Posts

10 posts

[bash: awk] 각 항목별 합계 계산

반달가면|2018년 8월 14일

텍스트 파일에 각 항목별로 값이 있을 때, 같은 항목끼리 모아서 그 합을 구하는 방법이다. 간단한 예시를 생각해 보면 쉽게 감이 잡힐 것이다. 텍스트 파일 my_data.txt의 내용이 아래와 같다고 가정하자. 각 항목의 구분자는 탭(tab)이다. # my_data.txt 파일 내용 확인(구분자는 탭) cat my_data.txt 2018.1.3 apple 10 2018.1.3 orange 3 2018.2.5 pineapple 7 2018.3.10 apple 2 2018.3.15 pineapple 10 2018.3.30 apple 9 위와 같이 날짜마다 어떤 과일을 몇개 팔았는지 기록했다고 생각해 보자. 이제 여기서 각 과일별로 총 몇개씩 판매했는지 알고 싶은 것이다. 첫번째 항

[bash: awk] 작업 시작전, 완료후에 실행할 명령어 지정(BEGIN/END)

반달가면|2016년 11월 18일

awk에서 텍스트 파일에 대한 작업을 시작하기 전, 또는 모든 작업이 끝난 후에 실행할 명령어를 지정해 줄 수 있다. 시작전을 나타내는 구문은 BEGIN, 끝난 후는 END로 지정한다. 아래의 예시를 보자. awk 'BEGIN { print "작업을 시작합니다." } ... END { print "작업을 완료했습니다." }' my_file.txt 굳이 이러한 구문이 필요할까 싶을 수도 있겠지만 의외로 요긴하다. 특정 디렉토리에서 특정 파일의 용량 합계를 awk를 이용해서 계산하는 방법을 다룬 이전 게시물을 보면 END 구문이 마지막 결과 출력에 활용되고 있음을 볼 수 있다. awk 활용에 대한 다른 게시물들은 여기로