다음과 같은 파일이 있습니다
InvoiceDate Bill Person BAN Type Amount Amount-Expenses GreenFee TaxAmount FinalTotal
1524753593 Jennifer Doe 39193 S 33.30 20 2 1 75
1524753593 Jason Bourne Doe 395931 S 27.00 11 2 1 57.33
1524753593 Feature D 15 12.00 64.20
1524753593 Jean-Pierre Doe 395931 S 53.10 44 2 1 12.33
1524753593 Feature D 12 5.00 74.32
1524753593 Jamie Doe 39193 S 35.30 42 2 1 53.11
총 파일 수를 가져와야 합니다. 위의 샘플과 같은 항목이 수천 개 있습니다. 마지막 열의 총 개수가 필요하지만 열 개수가 8보다 큰 경우에만 필요합니다.
grep을 사용하여 필요한 열만 임시 파일에 넣는 것을 고려했지만 파일이 30MB에서 100MB 이상 사이에서 쉽게 변동될 수 있다는 점을 고려하면 중간 파일을 포함하지 않는 것이 더 빠를 것이라고 생각합니다. 파일을 뒤집어서 S 유형의 첫 번째 열에서 모든 숫자를 가져오는 것을 고려했지만 awk를 통해 이를 수행하는 방법을 잘 모르겠습니다.
답변1
awk 'NF>=8 && NR>1 { entries++; sum+=$8 } END { print "Total for column 8:", sum, "over", entries, "records with this value present." }' inputfile