Grep issue (combine duas strings na mesma linha)

0

Aqui eu tenho alguns comandos do grep que não estão funcionando corretamente:

cat file1.txt:
apples
Date: Sun, 24 Feb 2013 8:14:06 -0800
peaches melons
cherry sky cloud
green purple
yellow

cat file2.txt:
apples
Date
peaches melons 0800
cherry sky cloud
green purple
black

O comando agora quebrado é:

egrep -lir "apples|melons|cherry" /home/test/* | xargs grep -l "Date" | xargs grep -l "0800"

Veja o primeiro argumento: o arquivo deve conter maçãs OU melões OU cereja Então, segundo argumento: o mesmo arquivo deve conter "Data" e "0800" na mesma linha

Então file1.txt deve combinar mas não file2.txt - agora ambos combinam

Obrigado pela ajuda - Eu acho que preciso grep com regexp para coincidir com "Date: [qualquer] [qualquer] [qualquer] 0800" digite o comando para pegar "Data" e "0800" na mesma linha ....

    
por holyearth 24.02.2013 / 18:44

1 resposta

3

Eu acho que isso é que você quer dizer. Data com zero ou mais caracteres seguidos por 0800

egrep -lir "apples|melons|cherry" file*.txt | xargs grep -l  "Date.*0800"
    
por 24.02.2013 / 19:11