Вот более простой, быстрый и самый портативный способ сделать это:
find $1 -exec touch {} +
Обратите внимание на синтаксис + окончание. В отличие от более популярных \; синтаксис окончания exec , + упаковывает аргументы так же, как и xargs .
По сравнению с часто предлагаемой find ... | xargs ... , это решение find только более эффективно, потому что:
- один процесс обрабатывает всю задачу
- нет передачи данных
- дополнительная обработка, связанная с хаком "\0", не требуется.
Будучи POSIX совместимых, он также работает с большинством , если не все современные реализации find в отличие от find -print0 и xargs -0 , которые оба GNUisms.