Como filtrar linhas com a mesma data em diferentes formatos

0

Eu tenho um arquivo txt como este:

./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

e preciso filtrar apenas as linhas como:

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

(ou seja, com a mesma data no início: ./YYYMM.dd.txt e após TAG: TAGYYYYMMddhhmm )

É possível com o script de shell?

    
por Arianna Angeletti 16.10.2017 / 14:14

2 respostas

3

Uma maneira de fazer isso:

grep -E '/([0-9]{6})\.([0-9]{2}).* TAG' file
    
por 16.10.2017 / 14:28
2
Solução

Awk :

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

A saída:

./201709.15.txt:88:word word TAG201709152000 word word
    
por 16.10.2017 / 14:31