Що - щось подібне до наступного, що я , що я після, але мій код не працює, незалежно від того , як я бігти {}
і+
;
find ./ -maxdepth 1 -type d -name '.*' -exec \
find {} -maxdepth 1 -type f -name '*.ini' -exec \
md5sum \{\} \\; \;
Після перегляду цієї Unix - & - Linux питання , я виявив , що такі роботи коду, але це не вкладеність знахідки як такі, і я підозрюю , що є кращий спосіб зробити це особливе завдання.
find ./ -maxdepth 1 -type d -name '.*' \
-exec bash -c 'for x; do
find "$x" -maxdepth 1 -type f -name "*.ini" \
-exec md5sum \{\} \;; \
done' _ {} \+
Чи існує якийсь спосіб гніздування find -exec
без необхідності викликати шкаралупу (як вище), з усіма її хитрими цитатами та обмеженнями втечі?
Або це можна зробити безпосередньо в одній команді find, використовуючи суміш її багатьох параметрів?
find
, але якщо find
не можете цього зробити, то чому find
так шанується (?) Як інструмент, використовувати для пошуку файлів? ... Я підрядчиком виявив, що find ./ -maxdepth 2 -path '.*/*.ini' -type f -exec md5sum {} \+
добре працює в моїй ситуації (посилання jw013 -prune
привело мене до цього на сторінці man), але мені цікаво, чи це надійний метод (у родах). Я ніколи не використовував find
(менше ніж за рік Linux), як locate
це зробив майже все, що мені потрібно, тому це невідома територія.
-path
Тест саме те , що я збирався запропонувати. З цим ви повинні мати можливість робити все, що вам завгодно (вибачте за асоціацію Ace Of Base;))