다른 형식으로 동일한 날짜의 행을 필터링하는 방법

다른 형식으로 동일한 날짜의 행을 필터링하는 방법

다음과 같은 txt 파일이 있습니다.

./201709.15.txt:88:word word TAG201709152000 word word
./201709.19.txt:3:word TAG201709152000 word word
./201710.10.txt:5:word word TAG201709152000 word word word

다음 줄만 필터링하면 됩니다.

./201709.15.txt:88:word word TAG201709152000 word word

(즉, 동일한 날짜로 시작 ./YYYMM.dd.txt하고 TAG 이후에 TAGYYYYMMddhhmm:)

쉘 스크립트를 사용할 수 있습니까?

답변1

한 가지 방법은 다음과 같습니다.

grep -E '/([0-9]{6})\.([0-9]{2}).* TAG\1\2' file

답변2

해결책:

awk -F'.' 'match($4,/TAG[0-9]{8}/) && substr($4,RSTART+3,RLENGTH-3) == substr($2$3,2)' file

산출:

./201709.15.txt:88:word word TAG201709152000 word word

관련 정보