it-swarm-eu.dev

Chtěl bych grepovat všechny soubory kromě některých typů souborů?

Jak mohu rekurzivně grep soubory v daných složkách kromě několika typů souborů?

Hledám například řetězec v mé složce pracovního prostoru, ale skončí prohledáváním souborů sql a generuje serializované řetězce.

Takže v tomto případě bych chtěl grep složku pracovního prostoru kromě souborů sql.

Nejraději hledám jednoplášťovou linku, pokud je to možné.

39
chrisjlee

Pokud máte GNU grep, můžete použít --exclude=GLOB možnost, jako

grep -r --exclude='*.sql' pattern dir/
48
jw013

To za vás udělá a vyloučí soubory .sql a .txt:

find /some/dir -type f ! -name '*\.sql' ! -name '*.txt' -print0 | xargs -0 grep 'foobar'

Zní to jako ack by byl mnohem lepším nástrojem pro to, co se snažíte udělat:

ack -a --nosql 'foobar' /some/dir
8
Mark McKinstry