3番目のカンマの後の行を条件付きでgrepする方法

3番目のカンマの後の行を条件付きでgrepする方法

3番目のカンマの後に4桁の数字があるテキスト行を見たいです。

入力する:

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

出力:

111111111111111,00,0000,0000

答え1

以下を使用してこれを実行できますawk

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

答え2

つまり一致する3番目のカンマの後の4桁:

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

答え3

10進数のみを含む行と3番目のコンマの後の行の終わり(他にはなく、後にはコンマも許可されていません)を一致させるには、次のようにしますgrep

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

関連情報