리눅스 쉘스크립트#3 AWK
주제 : 영화 DB에서 조건에 맞는 데이터 뽑아내기
1. 영화 제목 뽑기
#DB내 릴레이션을 파일로 추출 by tee 사용
mysql
use moviedb;
tee movie.txt;
select * from movie;
notee;
awk -F '|' '{ print $3 }' ./movie.txt > movie_title.txt
2. if 조건문 사용
#100만 관객수 영화 리스트 뽑아내기
awk 'BEGIN{FS="|"} {if($8 > 1000000) print("title":$3,"view":$8)}' movie.txt | sort
3. 관객수 총합 평균 구하기
#! /usr/bin/bash
awk -F '|'
'BEGIN{
sum = 0
cnt = -1
}
{
sum += $8
cnt++
}
END{
avg=sum/cnt
print("sum : " sum ", average : " avg)
}' ./movie.txt
4. uniq 이용 영화 배급사, 국가 리스트 구하기
awk -F '|' '{print $4}' movie.txt | sort | uniq
awk -F '|' '{print $6}' movie.txt | sort | uniq
5. 출력 필드 넓이 조정
awk -F '|' '{ printf "%-3s %-5s %-6s\n", $3, $4, $5}'