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