Грубо говоря, у меня на сервере Linux настроена такая папка:
/show/season01/show01/shows01e01.mkv /show/season02/show01/shows02e01.mkv /show/season03/show01/shows03e01.mkv
Я хочу удалить папки .... Я хочу скопировать *.mkv
файлы в /show/
каталог ...
Может ли кто-нибудь помочь мне с этим?
find /show -name "*.mkv" -exec cp {} /show/ \;
сделаю трюк
Ответ Алекса в порядке. Вот несколько альтернативных способов сделать это:
найти + xargs:
find /show -name "*.mkv" -print0 | xargs -0 -Imkv cp mkv /show/
найти + параллель:
find /show -name "*.mkv" -print0 | parallel -0 -j+0 cp {} /show/
единственная интересная вещь об использовании параллельно вместо того find/exec
в том, что он может выполнять несколько команд параллельно. В -j+0
аргументы заставят его запустить столько заданий одновременно, сколько ядер процессора. Это может быть не особенно полезно, если эта операция полностью привязана к диску, но потенциально может ускорить копирование большого количества файлов.