Eu encontrei uma resposta na forma de um script bash
#!/bin/sh
IFS='
'
for i in $(find ./*/ -mindepth 2 -type f); do
mv -- "${i}" "${i%/*/*}"
done
Eu tenho vários arquivos em vários diretórios, alguns enterrados em subdiretórios. Eu quero ser capaz de mover todos os arquivos até que eles tenham apenas um diretório de profundidade.
por exemplo:
/home/folder/subfolder/file1.txt
/home/folder2/file2.txt
/home/folder3/subfolder/subfolder/subfolder/file3.txt
torna-se:
/home/folder/file1.txt
/home/folder2/file2.txt
/home/folder3/file3.txt
descobri que posso usar
find ./*/ -type f
para localizar todos os arquivos. Mas não tenho certeza de como movê-los para que eles tenham apenas um diretório de profundidade.
Eu encontrei uma resposta na forma de um script bash
#!/bin/sh
IFS='
'
for i in $(find ./*/ -mindepth 2 -type f); do
mv -- "${i}" "${i%/*/*}"
done