Может найти рекурс в некоторые папки, но не в другие в той же команде?

Я хочу использовать find для рекурсии через определенные подпапки в $HOME, но не в других в той же команде. Это возможно?

Чтобы уточнить, я хотел бы вернуться в ~/Desktop, ~/Documents и ~/Dropbox, но не в ~/.config, ~/.dropbox или ~/.cache.

0
задан 28 August 2019 в 16:55

1 ответ

можно передать каталоги, с которых Вы хотите начать как несколько начальных точек find.

Вы хотите использовать find для поиска горстки определенных каталогов, все из которых происходят , чтобы быть подкаталогами корневого каталога:

Для разъяснения я хотел бы рекурсивно вызвать в ~/Desktop, ~/Documents, и ~/Dropbox, но не в ~/.config или ~/.dropbox или ~/.cache.

, Таким образом, можно просто передать те каталоги как начальные точки для [1 110]. Мы часто используем единственный каталог в качестве начальной точки, и это часто ., но find не ограничен этим.

find ~/Desktop ~/Documents ~/Dropbox -name my-file

Замена -name my-file с остальной частью find команда (т.е. тесты и действия) Вы хотите работать.

Это не предоставляет Ваш корневой каталог сам как начальную точку [1 115], и начиная ни с одного из каталогов, которые он предоставляет, содержит Ваш корневой каталог - они вместо этого содержавшие [1 130] он - файлы в Вашем корневом каталоге, которые не содержатся в рамках ни одного из тех определенных каталогов, не будет найден.

, Если эти каталоги, оказывается, весь подкаталоги Вашего корневого каталога, имена которого не запускаются с [1 116], затем у Вас может быть своя сборка оболочки список для Вас:

find ~/*/ -name my-file

* соответствия любая последовательность символов в имени файла. Последнее запаздывание / причины только каталоги, которые будут согласованы. По умолчанию оболочки не расширяются * до файлов, имена которых запускаются с [1 120]. Таким образом, если Вы не включили dotglob опция оболочки (или независимо от того, что Ваша оболочка имеет для этого, если Ваша оболочка не будет Bash), то список, произведенный [1 122], не будет включать .config, .dropbox, или .cache подкаталоги Вашего корневого каталога.

Файлы и каталоги, имена которых запускаются с [1 126] и которые находятся в рамках каталогов, передали как начальные точки , будет все еще найден, конечно.

4
ответ дан 23 October 2019 в 04:25

Другие вопросы по тегам:

Похожие вопросы: