So greppen Sie Zeilen nach dem dritten Komma mit Bedingung

So greppen Sie Zeilen nach dem dritten Komma mit Bedingung

Ich möchte Textzeilen anzeigen, die 4 Ziffern nach dem dritten Komma haben.

Eingang:

123456789012345,00,0000,000
111111111111111,00,0000,0000

Ausgabe:

111111111111111,00,0000,0000

Antwort1

Sie können dies tun, indem Sie Folgendes verwenden awk:

$ awk -F, 'length($4) == 4' file
111111111111111,00,0000,0000

Antwort2

Passend dazu nämlich4 Ziffern nach dem dritten Komma:

awk -F, '$4~/^[0-9]{4}$/' file

Antwort3

Zum Abgleichen auf Zeilen, die nur Dezimalstellen haben und dann das Zeilenende (also nichts anderes, nicht einmal ein Komma ist danach erlaubt) nach dem dritten Komma, mit grep:

grep -xE '([^,]*,){3}[0-9]{4}' <file

verwandte Informationen