Скопіюйте готові файли розміром більше 1024M в інший каталог


0

Я використовую передачу-демон. Вони знаходяться на змінних середовищах завершення торрент, підтримуваних передач-демон, як показано тут . У каталозі завершеного завантаження знайдіть та скопіюйте будь-які файли розміром більше 1024M в інший каталог.

Це не працює:

find $TR_TORRENT_DIR/$TR_TORRENT_NAME -type f -size +1024M -exec cp {} /path/to/copies/ \;

Це працює, але використовує каталог для всіх завершених торрентів:

find $TR_TORRENT_DIR -type f -size +1024M -exec cp {} /path/to/copies/ \;

Це працює і копіює батьківський каталог завершеного торрента:

cp -R "$TR_TORRENT_DIR/$TR_TORRENT_NAME" "/path/to/copies/"

Будь-яка допомога буде дуже вдячна!

Відповіді:


0
  1. Ви хочете скопіювати готові торренти на нове місце
  2. У вас є каталог ($ TR_TORRENT_DIR), куди ходять усі завантажені торенти. У каталозі кожен новий торрент має власну директорію ($ TR_TORRENT_NAME).

Враховуючи ці припущення, зробіть

find $TR_TORRENT_DIR

шукати всі папки, а не лише одну.

Оновлення: знайдіть файли розміром 1G і новіші, отримайте шлях до файлу, скопіюйте весь батьківський каталог файлу до місця призначення.

Це може виглядати приблизно так, як показано нижче. Можна вдосконалити, щоб визначити, чи знайдено два або більше файлів у підкаталогах одного батьківського каталогу та копіювати їх лише один раз.

find $TR_TORRENT_DIR/ -type f -size +1024M -exec echo {} \; \
| while read filepath
do
    parentdir=$(dirname $filepath)
    cp -a $parentdir /path/to/copies/
done

Зауважте, що вищезазначене може порушитися, якщо назви файлів містять екзотичні символи.


Досить справедливо - ще одне останнє оновлення
Jonatan


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.