このスクリプトを機能させて、タイプ .doc および .pdf のファイルの数を数えようとしています。しかし、for ループの最後のブラケットで構文エラーが発生し続けます。
awk: ./parselog.awk:14: for ($7 in count)
awk: ./parselog.awk:14: ^ syntax error
awk スクリプトは次のとおりです。
#!/usr/bin/awk -f
BEGIN {}
{
file = match($7, "/datasheets/")
doccheck = match(tolower($7), ".doc")
pdfcheck = match(tolower($7), ".pdf")
if( doccheck || pdfcheck )
{
count[$7]++
}
}
END{
for ($7 in count)
{
frequency = count[$7]
sub(/datasheets/,"",$7)
minusextension = $7
sub(/\....$/, "", minusextension)
print minusextension, $7, frequency
}
sort
}