0
#!/usr/bin/env bash
for year in all/*
do
echo -ne `basename $year .gz`"\t"
gunzip -c $year | \ awk '{ temp = substr($0, 88, 5) + 0;
q = substr($0, 93, 1);
if (temp !=9999 && q ~ /[01459]/ && temp > max) max = temp }
END { print max }'
done
하둡 책에서 찾은 파일을 읽은이 Awk 스크립트에 대해서는 약간의 의문이 있습니다. 줄 번호 5 (gunzip
으로 시작하는 줄)에서 |
다음에 awk 전에 백 슬래시 \
의 용도는 무엇입니까?awk 전에 백 슬래시가 혼동 스럽다는 것은 무엇을 의미합니까?
'\ awk'은 "awk"(첫 문자로 공백 포함)를 실행하는 것을 의미합니다. 그것은 이상하게 보입니다. 그러나 그 이름을 가진 명령을 가질 수는 있습니다. – Biffen
당신은'\ awk'을 볼 수 있는데, 이것은 [\ curl ... | bash ... 슬래시는 무엇입니까?] (http://stackoverflow.com/q/15951772/1983854) – fedorqui
설명을 주신 Biffen에게 감사드립니다. 여기를 제거하면 문제가되지 않을 것이라고 생각합니다. 내가 맞습니까? –