mv выдает сообщение об ошибке, но файл был перемещен

просто используйте find здесь:

find (...your filters ...) -exec optipng -o7 '{}' +

обратите внимание, что + попытается использовать как можно больше результатов find в качестве аргумента для optipng, что нормально, поскольку эта программа принимает несколько файлов в качестве аргументов. Обратите внимание, что + работает, только если это последний аргумент команды -exec. Альтернатива

find (...filters...) -exec optipng -o7 '{}' \;

выполнит optipng один раз на каждый результат и, следовательно, намного медленнее.

Примечание: {} в find означает имя файла, полученное в результате поиска, -exec позволит выполнить команду.

0
15.04.2018, 01:17
2 ответа

Потому что ты сказал

mv  (source filename)  to  (target directory)

и команды Unix не на английском языке — вы не говорите такие вещи, как mvчто-тоtoгде-то. mvпила

mv  (source filename1)  (source filename2)  (target directory)

, где(source filename2)было to, и сообщение об ошибке говорит, что такого файла какtoнет.

10
28.01.2020, 02:13

Похоже, вы неправильно понимаете, как работает команда mv. В параметрах нет to, поэтому оно интерпретируется как имя файла, но такого файла не существует.

man 1 mv

SYNOPSIS
   mv [OPTION]... [-T] SOURCE DEST
   mv [OPTION]... SOURCE... DIRECTORY
   mv [OPTION]... -t DIRECTORY SOURCE...
2
28.01.2020, 02:13

Теги

Похожие вопросы