쉼표로 구분된 필드를 편집하고 내 기준보다 큰 특정 필드에 대해 grep을 수행합니다.

쉼표로 구분된 필드를 편집하고 내 기준보다 큰 특정 필드에 대해 grep을 수행합니다.

입력하다:

10,6-2021,863
11,1-2017,990
12,012020,000
13,1-2021,000

산출:

10,06/2021,863
12,01/2020,000
13,01/2021,000

입력 데이터에서 필드 번호 2가 날짜이므로 날짜 > 1-2017또는 012017둘 다를 표시하고 싶습니다./

답변1

해결사

gawk 'BEGIN{OFS=FS=","} {patsplit($2,a,/[0-9][0-9]?/); $2 = sprintf("%02d/%d%d", a[1], a[2], a[3])} 1' file

그 다음에

awk -F '[,/]' '($3 == 2017 && $2 >= 01) || $3 > 2017' file

관련 정보