grep / awk stdin Einschränkungen?

Ich habe mich umgesehen, aber ich kann niemanden finden, der dies bereits beantwortet hat.

Ich schreibe ein Bash-Skript, das 6 verschiedene lesen wirdcsv Dateien, und zählen Sie, wie viele Zeilen in allen Dateien zusammen bestimmte Tags enthalten.

(Es ist eine Kontaktlistendatenbank - und es gibt Tags für geschäftliche oder private E-Mail-Adressen.)

Hier ist ein Beispiel für den Code, den ich geschrieben habe:

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

Das Skript gibt Werte zurück, die vollkommen korrekt erscheinen. JEDOCH! Ich weiß, dass jede Zeile in jeder Datei das Tag 'business' oder 'private' an derselben Position hat - und es gibt keine leeren Zeilen, aber wenn ich die beiden Ergebnisse zusammenaddiere, entspricht dies nicht der vollständigen Anzahl der Zeilen ... es fehlen ca. 45000 ...

Gibt es irgendwelche Einschränkungen für diestdin zumgrep oderawk - Die gesamte Datenbank ist über 2 Millionen Zeilen lang ...

Bitte helfen Sie! :-)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage