Buscando por duas ou mais palavras em um arquivo usando grep

Pessoal, uns dias atrás precisei fazer uma busca em um arquivo por duas palavras distintas e como já tinha feito uma vez mas havia esquecido, resolvi procurar novamente e postar aqui pra que caso eu esqueça novamente eu já saiba onde encontrar.

Bom, vamos ao que interessa:

Ex.: cat arquivo | grep -E "palavra1|palavra2"

A opção -E descrita no grep acima é usada para fazer uma busca estendida. Pode-se usar apenas egrep no lugar de grep -E que será obtido o mesmo resultado.

Obs: é possível buscar mais de duas palavras, basta seguir a mesma lógica do grep.

Ex.: cat arquivo | egrep "palavra1|palavra2|palavra3|..."

Comentários

  1. Esse tipo de busa é:
    Palavra1 ou Palavra2 ou Palavra3

    Gostaria de saber no caso de:

    Palavra1 E Palavra2 E Palavra3

    Obrigado.

    ResponderExcluir
    Respostas
    1. [root@server4 ~]# ethtool eno1 | grep -E "Speed|Duplex|detected"
      Speed: 1000Mb/s
      Duplex: Full
      Link detected: yes

      Excluir
  2. Rafael, vamos tentar simular uma situação como essa que você descreveu, Palavra 1 e Palavra 2 e Palavra 3. Não tenho certeza, mas talvez essa mesma opção sirva.

    Manda ai uma situação na prática que você tenha que fazer uma busca como essa.

    Fico no aguardo e desculpas por demorar a responder, o tempo ta cada vez mais escasso. hehehe.

    ResponderExcluir
  3. Como encontrar uma palavra "qualquer" em mais de um arquivo

    ResponderExcluir
    Respostas
    1. grep -inE "sup|gildo|linux" mywords mywords1
      Vai encontrar as palavras sup, gildo e linux nos arquivos:
      mywords e
      mywords1
      Alternativamente:
      grep -ine sup -ine gildo -ine linux mywords mywords1

      output:
      mywords:2:sup
      mywords:3:gildo
      mywords1:1:gildo
      mywords1:2:sup
      mywords1:3:linux

      Excluir
  4. eu usei o comando egrep "palavra1|palavra2" e funciono, mas no meu caso eu precisava pegar as linhas que começavam com essas palavras, e das demais formas achava a primeira opção e exibe sem mostras o segundo argumento

    ResponderExcluir
  5. Harrah's Atlantic City - MapYRO
    Get directions, 이천 출장마사지 reviews and information for Harrah's Atlantic 계룡 출장안마 City in Atlantic City, NJ. 강릉 출장안마 Address: 1 Borgata Way; 양주 출장샵 2 계룡 출장마사지 Borgata Way; 3 Atlantic City Way;

    ResponderExcluir

Postar um comentário