Limitações do grep / awk stdin

Olhei em volta, mas não consigo encontrar alguém que já tenha respondido a isso.

Estou escrevendo um script bash que irá ler 6 diferentescsv arquivos e conte quantas linhas em todos os arquivos possuem determinadas tags.

(é um banco de dados da lista de contatos - e há tags para negócios ou endereço de email privado)

Aqui está um exemplo do código que escrevi:

### First Scan - Business emails ###

bus="$(awk 'BEGIN {FS = ","}{print $27}' FILE*full* | grep -c "Business")"

echo "No. of Business Accounts: $bus"

### Second Scan - Private emails ###

priv="$(awk 'BEGIN {FS = ","}{print $27}' FILE*full* | grep -c "Private")"

echo "No. of Private Accounts: $priv"

O script retorna valores que parecem perfeitamente corretos. CONTUDO! Sei que todas as linhas de todos os arquivos possuem a tag 'business' ou 'private' na mesma posição - e não há linhas vazias, mas quando adiciono os dois resultados, ele não é igual ao número total de linhas ... Há cerca de 45000 desaparecidos ...

Existem limitações para ostdin paragrep ouawk - o banco de dados completo tem mais de 2 milhões de linhas ...

Por favor ajude! :-)

questionAnswers(2)

yourAnswerToTheQuestion