find . -iname '#msgs' | perl -pe 's/(.*)(#msgs)/mv "$1$2\/*" "$1";\nrm -r "$1$2";/g' | bash
omite o | bash
para ver o que faria
Estou tentando mover o conteúdo de uma subpasta para sua pasta pai e excluir a subpasta agora vazia. Eu quero que isso aconteça com várias pastas pai, cada uma com seu próprio nome de cliente exclusivo. Eu tirei uma captura de tela da hierarquia de pastas que pode ser visualizada aqui > > > link
Cada pasta CLIENT possui uma subpasta chamada '#msgs' com conteúdo que precisa ser movido para cima em uma pasta. Eu estava fazendo isso de maneira esquisita em 3 passos, escrito abaixo:
cd /Users/SystemFive/Desktop/ROOT/PARENT\ DIRECTORY/CLIENT\ 1
mv \#msgs/* .
então
find . -type d -name "#msgs" -exec rm -fvr "{}" \;
Isso é bastante complicado para o meu projeto, pois tenho mais de cem pastas de clientes para as quais preciso fazer isso. Eu estou procurando uma direção para criar algum tipo de instrução if / then que possa executar todo o DIRETÓRIO DE PAIS através de cada uma das pastas CLIENT e executar esta ação. Qualquer ajuda é apreciada. Obrigada!
find . -iname '#msgs' | perl -pe 's/(.*)(#msgs)/mv "$1$2\/*" "$1";\nrm -r "$1$2";/g' | bash
omite o | bash
para ver o que faria