** 입력자료 **
donors.txt (이름, 전화번호, 3개월 동안 제공한 기부금 액수 데이터)
Mike Harrington:(510) 548-1278: 250:100:175 = 525
Christian Dobbins:(408) 538-2358: 155:90:201 = 446
Susan Dalsass:(206) 654-6279:250: 60:50 = 110
Archie McNichol:(206) 548-1348: 250:100:175 = 525
Jody Savage:(206) 548-1278: 15:188:150 = 353
Guy Quigley:(916) 343-6410: 250:100:175 = 525
Dan Savage:(406) 298-7744: 450:300:275 = 1025
Nancy McNeil:(206) 548-1278: 250:80:75 = 405
John Goldenrod:(916) 348-4278: 250:100:175 = 525
Chet Main:(510) 548-5258: 50:95:135 = 250
Tom Savage:(408) 926-3456: 250:168:200 = 618
Elizabeth Stachelin:(916) 440-1763: 175:75:300 = 550
** 연습하기 **
1. 전화번호를 모두 출력하라.
awk -F: '{print $2}' donors.txt
2. Dan의 전화번호를 출력하라.
awk -F: '/^Dan/ {print $2}' donors.txt
3. C나 E로 시작하는 이름 전체를 출력하라.
awk -F: '/^C|^E/ {print $1}' donors.txt
4. 지역번호가 916인 사람들의 전체 이름과 전화번호를 출력하라.
awk -F: '$2 ~ /916/ {print $1,$2}' donors.txt
5. 첫째 달에 $250를 기여한 사람들의 전체 이름과 첫째 달 기부 금액을 출력하라.
awk -F: '$3 ~/250/ {print $1,$3}' donors.txt
6. 3개월 동안 $800 이상 기부한 사람들의 전체 이름과 기부 금액의 합을 출력하라.
cat awk6
{
sum=$3+$4+$5;
if(sum>800)
print $1,sum;
}
awk -F: -f awk6 donors.txt
7. 각 레코드의 번호를 행 앞에 함께 출력하라. (ex: 1 - Mike Harrington:(510) 548-1278:250:100:175)
cat awk7
{
printf "%d - %s\n", NR, $0;
}
awk -F: -f awk7 donors.txt
'삽질 > Com' 카테고리의 다른 글
아나콘다 가상환경 (0) | 2020.08.03 |
---|---|
Shell (0) | 2009.12.06 |
junk : 임시휴지통 만들기 (0) | 2009.12.06 |
하위디렉토리의 종류 및 기능 (0) | 2009.12.06 |
트리 (0) | 2009.12.06 |
댓글