просто используйте find
здесь:
find (...your filters ...) -exec optipng -o7 '{}' +
обратите внимание, что +
попытается использовать как можно больше результатов find
в качестве аргумента для optipng
, что нормально, поскольку эта программа принимает несколько файлов в качестве аргументов. Обратите внимание, что +
работает, только если это последний аргумент команды -exec
. Альтернатива
find (...filters...) -exec optipng -o7 '{}' \;
выполнит optipng
один раз на каждый результат и, следовательно, намного медленнее.
Примечание: {}
в find
означает имя файла, полученное в результате поиска, -exec
позволит выполнить команду.
Потому что ты сказал
mv (source filename) to (target directory)
и команды Unix не на английском языке — вы не говорите такие вещи, как mv
что-тоto
где-то. mv
пила
mv (source filename1) (source filename2) (target directory)
, где(source filename2)
было to
, и сообщение об ошибке говорит, что такого файла какto
нет.
Похоже, вы неправильно понимаете, как работает команда mv
. В параметрах нет to
, поэтому оно интерпретируется как имя файла, но такого файла не существует.
man 1 mv
SYNOPSIS
mv [OPTION]... [-T] SOURCE DEST
mv [OPTION]... SOURCE... DIRECTORY
mv [OPTION]... -t DIRECTORY SOURCE...