criando diretório para o grupo de arquivos que possuem uma string comum em seus nomes

1

Eu tenho muitos arquivos, todos semelhantes aos seguintes:

frame1_M.png
frame1_S.png
frame1_L.png
frame1_N.png
frame1_D.png
frame1_M.png
frame1_S.png
frame1_L.png
frame1_N.png
frame1_D.png
frame2_M.png
frame2_S.png
frame2_L.png
frame2_N.png
frame2_D.png
frame3_M.png
frame3_S.png
frame3_L.png
frame3_N.png
frame3_D.png

Como posso colocar todos os itens de frame1 em um diretório feito no diretório atual chamado frame1, o mesmo acontece com o frame2 e o restante dos frames. Como você vê, em cada grupo de arquivos, apenas o número do quadro é comum.

Este é apenas um exemplo. Os arquivos estão no intervalo de 30k, então precisa ser feito com o terminal / bash. * Números de quadros são totalmente aleatórios no cenário real, não ordenados, o que torna uma tarefa muito desafiadora para mim.

    
por Mona Jalal 11.04.2017 / 01:23

1 resposta

0

_adb:

for q in *.png; do mkdir -p "${q%_*}"; mv "$q" "${q%_*}"; done

Do canal de IRC #bash! Muito obrigado _adb! Funciona como mágica!

    
por Mona Jalal 11.04.2017 / 01:39