shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Criar diretórios baseados no nome de arquivo e mover


From: Julio C. Neves
Subject: Re: [shell-script] Criar diretórios baseados no nome de arquivo e mover os arquivos
Date: Fri, 9 Jul 2010 08:34:09 -0300

Aê Helton,
a linha é grande mas é um one-liner. Se o servidor de e-mail quebrá-la,
emende-a... :)

$ ls [0-9][0-9][0-9][0-9]* | cut -c-4 | uniq | xargs -i bash -c "[ -d {} ]
|| mkdir {}; mv {}* {}"

Ao final vai dar um erro, mas já era esperado, vão ser os diretórios 0108 e
0109 tentando mover-se para dentro deles mesmos.

Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- SE turma de Shell/Zenity em 26/07 - address@hidden
- SP turma de Shell em 14/08 - www.4Linux.com.br
- Turmas fechadas em outras cidades ligue (21)8112-9988.


Em 9 de julho de 2010 03:50, Helton Moraes <address@hidden> escreveu:

>
>
> Caros colegas, estou com um problema bobo mas não sei como resolver
> rapidamente.
>
> Tenho mais de mil arquivos assim:
>
> 0108as3g_10.txt
> 0108as4g_10.txt
> 0108as6g_10.txt
> 0108as6g_11.txt
> 0109as1g_10.txt
> 0109as1g_11.txt
> 0109as2g_10.txt
> 0109as2g_11.txt
> 0109as2g_12.txt
> 0109as3g_10.txt
>
> onde os quatro primeiros dígitos são o mês e o ano.
>
> O que eu preciso fazer (meio logo) é:
>
> 1) Criar uma estrutura de diretório tipo /aamm (ano na frente do mês)
> 2) Mover os arquivos para a pasta correspondente.
>
> Ficaria assim:
> /0801
> 0108as3g_10.txt
> 0108as4g_10.txt
> 0108as6g_10.txt
> 0108as6g_11.txt
> /0901
> 0109as1g_10.txt
> 0109as1g_11.txt
> 0109as2g_10.txt
> 0109as2g_11.txt
> 0109as2g_12.txt
> 0109as3g_10.txt
>
> Pensei em usar um
>
> for file in $(find -type f)
> do
> <sed, criar variáveis, if isso aquilo, etc, etc, mkdir, etc>
>
> mas tudo que fiz deu errado, inclusive o sed "cuspir" um monte de
> caracteres
> ilegíveis ao processar os resultados do find...
>
> Peço desculpa se parece bobo demais, mas sabe como é, não tenho usado muito
> Shell (tão me obrigando a aprender Java...) e a gente acaba enferrujando.
>
> Obrigado
>
> Helton
> <http://www.google.com/search?q=com>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]