скажем, я хотел бы найти все файлы с суффиксом .wzd в текущем каталоге и заархивировать все файлы, созданные одновременно, как я могу это сделать?
кстати, следующее не работает
find . -name "*.wzd" 2>/dev/null -exec tar -cvf wzd.tar {} \;
Используйте -print0 с find для вывода имен файлов, разделенных нулем, и передайте в tar используя -T - --null чтобы прочитать имена файлов, разделенных нулем, из stdin.
find ... -print0 | tar ... -T - --null
backticks тоже будет работать:
tar -cvf wzd.tar `find . name "*.wzd" -printf "%f "`
-exec command {} +
Этот вариант действия -exec запускает указанную команду для выбранных файлов, но командная строка создается путем добавления каждого выбранного имени файла в конце; общее количество вызовов команды будет намного меньше, чем количество совпавших файлов. Командная строка создается так же, как xargs создает свои командные строки. В команде допускается только один экземпляр '{}' . Команда выполняется в начальном каталоге.