Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Find dir/ -name '*' VS find dir/* -name '*'
Новая тема
Ответить
цитата
14/05/14 в 21:12
S_Flash
Такая хрень!
Код, приведённый ниже, находит всё классно, но пропускает файлы, которые начинаются с точки, например, .htaccess:
find dir/* -name '*'
Если убрать * после dir/, начинает ловить .htaccess, но включает в список путей саму диреткорию dir/, а это неприемлимо:
find dir/ -name '*'
Как выцепить все файлы, как и те, что начинаются с точки, но не включить в резалт саму диру dir/ ?
цитата
14/05/14 в 21:24
Nux
может ты усложняешь?
cd dir && find -type f
цитата
14/05/14 в 21:54
S_Flash
там немного сложнее правило поиска файлов, я просто упростил всё максимально!
Т.е.
-name '*'
на самом деле
! -name '*.php'
, выделить всё кроме php ...
цитата
14/05/14 в 22:46
Nux
ну так
find dir/ -type f ! -name '*.php'
или к аналогии выше
cd dir && find -type f ! -name '*.php'
именно так будет правильно поскольку ты сказал
НАЙТИ файлы
, а в твоем примере и диры найдет какие не будут под маску попадать
Последний раз редактировалось: Nux (
14/05/14 в 23:13
), всего редактировалось 1 раз
цитата
14/05/14 в 23:00
S_Flash
Nux:
Оговорился.
Диры тоже нужно, но только вложенные.
цитата
14/05/14 в 23:08
dm
S_Flash писал:
Как выцепить все файлы, как и те, что начинаются с точки, но не включить в резалт саму диру dir/ ?
ну не нужна - так просто отсеки ее в результатах поиска..
find..... | egrep -v 'dir/$'
цитата
14/05/14 в 23:19
Nux
cd /path_to_dir && find ! -name '*.php'
если бы ты сразу написал чего надо, то уже бы ответ давно был
цитата
14/05/14 в 23:22
Nux
если собираешься удалять то делать можно так
cd /path_to_dir && find ! -name '*.php' -delete
... только проверяй как то в
безопасном
месте
цитата
20/05/14 в 12:54
Дартаньян
find . -name '*'
Новая тема
Ответить
Эта страница в полной версии