É possível canalizar em dirsplit?

1

Estou tentando descobrir o "jeito Linux" de realizar a seguinte tarefa. Eu tenho um diretório com um monte de subdiretórios, cada um contendo vários arquivos de vários tipos de arquivos. Eu posso facilmente reduzir isso usando o comando "find":

find . -name "*.jpg"

O que me retornaria uma lista de todos os arquivos terminados em .jpg. Além disso (mas separadamente), eu também posso dividir um diretório em grupos de arquivos, 100MB cada, com o comando dirsplit:

dirsplit --size 100MB -m --expmode 1 .

Então, agora duas perguntas. Primeiro, gostaria de combinar os dois comandos, de modo que o dirsplit atue apenas na saída do comando 'find' - ou seja, ele apenas reorganiza esses JPGs, em vez de reorganizar tudo. É possível canalizar em dirsplit?

A segunda pergunta é o sinalizador "-m", que você pode ver aqui: o link fará com que o dirsplit realmente mova o arquivos para as pastas desejadas. Minha pergunta é se é possível copiar em vez de mover - ou seja, deixar os arquivos onde estão, mas fazer uma cópia adicional deles em grupos de 100.

Alguma idéia?

    
por Jake 01.06.2016 / 04:41

1 resposta

2

dirsplit -H fornecerá mais informações sobre o comando, incluindo um exemplo de uso com o find.

find . -name "*.jpg" -printf "%s %p" | dirsplit -T- --size 100MB --expmode 1 -L

-T- lê filelist de stdin na forma " nome do arquivo filesize "

-L cria links físicos (parece que não há opção de cópia)

    
por 01.06.2016 / 16:13

Tags