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