find "$TR_TORRENT_DIR/$TR_TORRENT_NAME" -type f -size +1024M -exec cp {} /path/to/copies/ \;
Estou usando o daemon de transmissão. Estas são as variáveis de ambiente de conclusão do torrent suportadas pelo daemon de transmissão, conforme mostrado aqui . No diretório do download concluído, localize e copie todos os arquivos maiores que 1024M para outro diretório.
Isso não funciona:
find $TR_TORRENT_DIR/$TR_TORRENT_NAME -type f -size +1024M -exec cp {} /path/to/copies/ \;
Isso funciona, mas usa o diretório para todos os torrents concluídos:
find $TR_TORRENT_DIR -type f -size +1024M -exec cp {} /path/to/copies/ \;
Isso funciona e copia o diretório pai do torrent concluído:
cp -R "$TR_TORRENT_DIR/$TR_TORRENT_NAME" "/path/to/copies/"
Qualquer ajuda seria muito apreciada!
Dadas estas suposições, faça
find $TR_TORRENT_DIR
para pesquisar em todas as pastas, em vez de apenas uma.
Atualização: Encontre arquivos 1G e maiores, obtenha o caminho do arquivo, copie todo o diretório pai do arquivo para o destino.
Poderia ser algo como abaixo. Pode ser melhorado para identificar se dois ou mais arquivos são encontrados em sub-diretórios do mesmo diretório pai e copiá-lo apenas uma vez.
find $TR_TORRENT_DIR/ -type f -size +1024M -exec echo {} \; \
| while read filepath
do
parentdir=$(dirname $filepath)
cp -a $parentdir /path/to/copies/
done
Observe que o acima pode quebrar se os nomes dos arquivos contiverem caracteres exóticos.
Talvez:
cd "$TR_TORRENT_DIR" && cp -R "$TR_TORRENT_NAME" "/path/to/copies/"
Tags ubuntu