grep / awk stdin Limitaciones?

Miré a mi alrededor, pero no puedo encontrar a nadie que ya haya respondido esto.

Estoy escribiendo un script bash que leerá 6 diferentescsv archivos, y cuente cuántas líneas en todos los archivos juntos tienen ciertas etiquetas.

(es una base de datos de la lista de contactos, y hay etiquetas para la dirección de correo electrónico comercial o privada)

Aquí hay un ejemplo del código que he escrito:

### 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"

El script devuelve valores que parecen perfectamente correctos. ¡SIN EMBARGO! Sé con certeza que cada línea en cada archivo TIENE la etiqueta 'business' o 'private' en la misma posición, y no hay líneas vacías, pero cuando agrego los dos resultados, no es igual al número total de líneas ... Faltan unos 45000 ...

¿Hay alguna limitación para elstdin paragrep oawk - la base de datos completa tiene más de 2 millones de líneas ...

¡Por favor ayuda! :-)

Respuestas a la pregunta(2)

Su respuesta a la pregunta