X열이 존재할 때 값 추가

X열이 존재할 때 값 추가

다음과 같은 파일이 있습니다

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

관련 정보