как выполнить grep строк после третьей запятой с условием

как выполнить grep строк после третьей запятой с условием

Я хочу просмотреть строки из текста, которые содержат 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

Чтобы соответствовать именно4 цифры после третьей запятой:

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

решение3

Для сопоставления строк, содержащих только десятичные цифры, а затем конец строки (то есть ничего иного, даже запятая не допускается) после третьей запятой, используйте grep:

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

Связанный контент