Script para mover uma certa quantidade de arquivos

1. Script para mover uma certa quantidade de arquivos

Jardel Moraes
Dellmoraes

(usa Outra)

Enviado em 20/10/2020 - 22:34h

Olá Amigos

Preciso de um help para criar um script para mover alguns arquivos entre diretorios linux, o senario é o seguinte:

Todo mês recebo uma quantidade gigantesca de arquivos (entre 100k e 150K) em um diretorio de nome X. Ocorre que a ferramenta que usamos para processar esses arquivos só consegue processar no maximo 20k por diretorio, por isso preciso distribuir esses arquivos que estão no diretorio X para outros diretorios como X1,X2, X3 etc.
Preciso criar um script que mova todos os aquivos do diretorio X para os demais diretorios X1,X2,X3 etc em lotes de 20k no maximo.





  


2. Re: Script para mover uma certa quantidade de arquivos

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 21/10/2020 - 01:07h

Dellmoraes escreveu:

Olá Amigos

Preciso de um help para criar um script para mover alguns arquivos entre diretorios linux, o senario é o seguinte:

Todo mês recebo uma quantidade gigantesca de arquivos (entre 100k e 150K) em um diretorio de nome X. Ocorre que a ferramenta que usamos para processar esses arquivos só consegue processar no maximo 20k por diretorio, por isso preciso distribuir esses arquivos que estão no diretorio X para outros diretorios como X1,X2, X3 etc.
Preciso criar um script que mova todos os aquivos do diretorio X para os demais diretorios X1,X2,X3 etc em lotes de 20k no maximo.

Sugestão:
Utilizar a data para criar as pastas:
Crie as pastas,
Exemplo, mês corrente:
mkdir 202010{01..31};
Caso não tenha a sequencia diária, faça:
stat -c %y *.html|awk -v Dir="$HOME" '{cmd = "mkdir -p "Dir"/"$1;system(cmd)}''
Agora é só copiar os arquivos....
stat -c %y' '%n *.html|awk -v Dir="$HOME" '{cmd = "cp "$4" "Dir"/"$1"/"$4;system(cmd)}'
OBS.: Note que crie as pastas em "$HOME", adeque a sua necessidade.
Atente-se ao "*.html" ..... , foi o que usei para testes, altere para a sua realidade...
É isso....
Boa sorte

______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:
Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.

______________________________________________________________________