Será usado o grep ou sed em um arquivo .ppt para encontrar uma frase?

2

Um grande número de arquivos .ppt (Powerpoint) está disponível para a linha de comando em vários diretórios de uma unidade USB. O objetivo é encontrar o arquivo .ppt com uma frase sensível a maiúsculas e minúsculas:

Frase: "Retorno do investimento"

Seria preferível que o mecanismo de pesquisa fosse recursivo. Bônus-rodada para explicações que, com uma explicação, o mecanismo de trapping e build-out para recursivamente procurando o disco. Obrigado

UPDATE

Sucesso graças ao Steeldriver por apontar para um mecanismo de pesquisa útil:

grep -rnw '/path/to/somewhere/' -e "pattern"
  • -r ou -R é recursivo,
  • -n é o número da linha e
  • -w significa coincidir com a palavra inteira.
  • -l (letra minúscula L) pode ser adicionado para fornecer apenas o nome do arquivo dos arquivos correspondentes.

Além desses, --exclude , --include , --exclude-dir ou --include-dir flags podem ser usados para pesquisas eficientes:

  • Isso só pesquisará os arquivos com extensões .c ou .h:

    grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
    
  • Isso excluirá a pesquisa de todos os arquivos que terminem com a extensão .o:

grep --exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"
  • Assim como excluir arquivos, é possível excluir / incluir diretórios por meio do parâmetro --exclude-dir e --include-dir . Por exemplo, isso excluirá as pastas dir1 /, dir2 / e todas elas correspondentes a * .dst /:
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"

Isso funciona muito bem para mim, para alcançar quase o mesmo propósito como o seu.

Para mais opções, consulte man grep .

    
por gatorback 09.04.2017 / 16:16

0 respostas