Copie todos os arquivos para sua pasta pai

1

Eu preciso mover todos os arquivos de vídeos em uma árvore de arquivos para as pastas pai, por exemplo:

origem:

A--sub1--file1
         file2
   sub2--file3
       --file4
   sub3--file5
B--sub1--file1
         file2
   sub2--file3
       --file4
   sub3--file5
   ...

de que preciso:

A--file1
   file2
   file3
   file4
   file5
B--file1
   file2
   file3
   file4
   file5
   ...

Estou tentando usar o shell script, e o que estou fazendo é:

for file in 'find -name *avi'; do something ; done

Eu gostaria de usar o nome do arquivo que recebo de find -name *avi para obter o caminho da pasta pai, que é a parte antes do segundo último '/'. Mas eu não sei como consegui-lo usando o shell script, o regex pode ajudar, mas eu não tenho ideia de como, qualquer um ajuda?

    
por zhanwu 05.09.2011 / 11:56

1 resposta

1
find -name "*.avi" |
while read -r file; do
    mv -v "$file" "${file%/*/*}"
done
    
por 05.09.2011 / 12:29