Copiar e prefixar ao nome do arquivo com base no caminho de arquivo

0

Eu tenho um grande número de arquivos (~ 300) que gostaria de renomear de acordo com seu caminho de arquivo.

No momento, eles são armazenados da seguinte forma:

folder/0040000/subfolder/subfolder1/x
folder/0040000/subfolder/subfolder2/y

O que eu gostaria de fazer é mover ou copiar cada um desses arquivos para "pasta" e renomeá-los como 0040000x , 0040000y , 0040001x etc para facilitar a execução desses arquivos.

Eu realmente não tenho experiência alguma em usar a linha de comando para alguém ter alguma ideia? Se os arquivos originais pudessem ser mantidos no lugar, o que seria ótimo, mas não é essencial - eu tenho um backup.

EDITAR: Eu sei que cp 0040000/subfolder/subfolder1/x 0040000x fará isso por 1 arquivo (supondo que eu esteja em folder ), mas como faço para iterar isso?

EDIT2: Eu tentei:

for i in {0040000..0040001}; do cp $i/subfolder/subfolder2/y "$i - y"; done

Mas isso não está fazendo nada.

RESOLVIDO: faltando citações em torno de filepath

for i in {0040000..0040001}; do cp "$i/subfolder/subfolder2/y" "${i}-y"; done

    
por GK95 04.04.2017 / 13:25

0 respostas