Я шукаю рядок foo=
у текстових файлах у дереві каталогів. Це на звичайній машині Linux, у мене є bash shell:
grep -ircl "foo=" *
У каталогах також багато двійкових файлів, які відповідають "foo =". Оскільки ці результати не є релевантними та сповільнюють пошук, я хочу, щоб греп пропустив пошук цих файлів (в основному зображення JPEG та PNG). Як би я це зробив?
Я знаю, що є --exclude=PATTERN
і --include=PATTERN
варіанти, але що таке формат шаблону? Сторінка людини grep говорить:
--include=PATTERN Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN Recurse in directories skip file matching PATTERN.
Пошук по grep включають , grep включають виключення , grep виключення та варіанти не знайшли нічого релевантного
Якщо є кращий спосіб прив’язання лише до певних файлів, я все за це; переміщення образливих файлів - це не варіант. Я не можу шукати лише певні каталоги (структура каталогів - це безлад, з усім, що скрізь є). Крім того, я нічого не можу встановити, тому мені доводиться робити звичайні інструменти (наприклад, grep або запропоновану знахідку ).
--exclude-dir=.svn
, тому греп взагалі не входить у них
grep -r --exclude-dir=var "pattern" .