Crie um script simples com o seguinte conteúdo
#!/bin/bash
while IFS= read -r -d '' n;
do
dir=$(dirname "$n") ;
mv "${n}"/* "${dir}"
rmdir "${n}"
done < <(find -type d -name "128Kbps_Songs" -print0)
Salve e torne-o executável usando chmod +x your_script
Agora execute-o usando ./your_script
Aqui IFS=
é feito para preservar o espaço no nome do arquivo ou no caminho.
-
-r
- desativa a interpretação de escapes de barra invertida e continuação de linha nos dados lidos. -
-d
- reconhece o delimitador como fim de dados. Aqui está esvaziando oIFS
-
dirname
é usado para remover o último nome da pasta, por exemplo128Kbps_Songs
da saída do comando find. (por./temp/MP3_SONGS/128Kbps_Songs
to./temp/MP3_SONGS
)