Awk überspringen CSV Zeilen mit dem zweiten Feld leer

Ich habe eine 16GB CSV, die ;-getrennt und die Felder sind immer anzugeben. Ich muss schnell herausfiltern von Zeilen, in denen das zweite Feld ist leer.

"12345";"987";"..." # keep it
"67890";"";"..."    # omit it

Die ersten beiden Felder sind nur zahlen, wenn diese Dinge für die Leistung.

Ich vermute, dass awk die wohl leistungsstärkste Werkzeug für dies, aber ich kann nicht scheinen, um es richtig zu machen. Ich habe versucht, aber es unterlässt die meisten Linien, die zu Unrecht:

cat huge.csv | awk '/^"\d+";"\d/' > filtered.csv

Natürlich muss es nicht sein, awk; eine Befehlszeile Werkzeug, die man üblicherweise auf linux und OS X tun wird.

  • Die cat ist nicht wirklich nötig, dies wäre gleichbedeutend: awk '/^"\d+";"\d/' huge.csv > filtered.csv
InformationsquelleAutor Jan | 2012-08-14
Schreibe einen Kommentar