No momento em que estou usando dois comandos, tenho certeza de que deve haver uma maneira melhor ...
wim@wim-acer:~/ffmpeg$ find . -name "*.h" -print0 | xargs -0 grep -i invalid\ preset
wim@wim-acer:~/ffmpeg$ find . -name "*.c" -print0 | xargs -0 grep -i invalid\ preset
-name '*.[ch]'
o trabalho?Respostas:
O ack (ou, no Debian / Ubuntu, ack-grep) ignorará arquivos que não são de origem, como controle de versão ou binários. Muito útil.
para pesquisar apenas arquivos .c e .h, como acima:
o
--cc
(o formato mais longo é--type cc
) examina apenas os arquivos .c .h e .xs. A lista completa de tipos de arquivos pode ser visualizada comack-grep --help type
. Na maioria das vezes, você não precisará particularmente--type
do arquivo, pois geralmente só tem os arquivos para pesquisar e, em seguida, os arquivos que não verá por padrão, como binários, backups e arquivos de controle de versão.fonte
O
grep
próprio programa pode pesquisar recursivamente e também aceita uma opção para pesquisar apenas determinados arquivos. O seguinte é equivalente aos seus doisfind
comandos.fonte
O comando find pode chamar o próprio grep.
e variações dos mesmos.
fonte
Posso adicionar algo assim ao seu
~/.bashrc
fonte