1

Есть ли способ убедиться, что find/sed включает скрытые файлы во время обработки?

2 ответа2

2

find , ни sed забота о скрытых файлах; если скрытые файлы игнорируются, то это потому, что ваша оболочка игнорирует их. В bash установите опцию dotglob (через shopt -s dotglob), чтобы глобирование совпадало с файлами, начинающимися с a . ,

2

Из справочной страницы find :

-name pattern

База имени файла (путь с удаленными ведущими каталогами) соответствует шаблону оболочки. Метасимволы ('*', '?'и' [] ') соответствуют'. ' в начале базового имени (это изменение в findutils-4.2.2 ; см. раздел СТАНДАРТНОЕ СООТВЕТСТВИЕ ниже). Чтобы игнорировать каталог и файлы в нем, используйте -prune; см. пример в описании -wholename . Брекеты не считаются особыми, несмотря на то, что некоторые оболочки, в том числе Bash, наполняют фигурные скобки особым значением. Соответствие имени файла выполняется с использованием библиотечной функции fnmatch (3). Не забудьте заключить шаблон в кавычки, чтобы защитить его от расширения оболочкой.

Так что проверьте, какую версию find вы, и подумайте об обновлении.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .