Вопрос Изменить команду find для исключения файла


Поэтому я сделал этот скрипт Конвертировать видео рекурсивно с помощью ручного тормоза,

И он использует эту команду как опцию

find . -name '*.mkv' -exec rm -r {} \;

Но я создал этот новый скрипт для рекурсивного удаления аудиопотоков Удаление аудиопотоков видео - рекурсивно без преобразования аудио или видео с помощью FFMPEG

Но я хотел бы добавить вариант удаления всех *.mkv файлы ЗА ИСКЛЮЧЕНИЕМ *FINAL.mkv так как это результат, который использует мой второй скрипт для файлов.

Может кто-нибудь быстро помог, я не очень хорошо разбираюсь в кодировании, я могу просто очень хорошо его обработать и понять: P


1
2017-08-13 06:17


происхождения




ответы:


Чтобы удалить все mkv файлы рекурсивно, кроме FINAL.mkv ты можешь сделать :

find . -type f -not -name '*FINAL.mkv' -name '*.mkv' -delete
  • использование -type f искать только файлы

  • -name '*.mkv' доставят нас всех .mkv файлы

  • -not -name '*FINAL.mkv' оставит все *FINAL.mkv файлы

  • -delete удалит найденные файлы.

Кроме того, сначала проведите сухой пробежкой, чтобы убедиться, что все в порядке:

find . -type f -not -name 'FINAL.mkv' -name '*.mkv'

2
2017-08-13 06:25



могу ли я спросить, почему код, который я нашел, использует -exec rm -r {} \; вместо -delete? - FreeSoftwareServers
@FreeSoftwareServers - неуклюжий способ делать то, что -delete делает, также -r является избыточным с rm поскольку мы имеем дело только с файлами.-exec rm -r {} \; вызовет дополнительный процесс rm для каждого файла это будет улучшение -exec rm -r {} \; если -exec rm {} + использовался. - heemayl
и суммировать ваш предыдущий комментарий altho -exec rm {} + - это улучшение, мне лучше использовать -delete в любом случае - FreeSoftwareServers
@FreeSoftwareServers Да .. я не смотрел *FINAL.mkv glob, который вы хотели ... - heemayl
было бы много спросить второго бита кода, который переименовал бы все остальные файлы с тем же именем без слова FINAL ?, я могу дать вам кредит в скрипте im, создающем для справки с улучшениями, и все о автоматизации, но я может начать новую тему или исследовать больше, если нет. - FreeSoftwareServers