하위 폴더에서 더 큰 디렉터리의 상위 폴더로 파일 이동

하위 폴더에서 더 큰 디렉터리의 상위 폴더로 파일 이동

하위 폴더의 내용을 상위 폴더로 이동하고 현재 비어 있는 하위 폴더를 삭제하려고 합니다. 각각 고유한 클라이언트 이름을 가진 여러 상위 폴더에서 이 작업이 수행되기를 원합니다. 여기에서 볼 수 있는 폴더 계층 구조의 스크린샷을 찍었습니다 >>>https://i.stack.imgur.com/Ve4Cj.png

각 CLIENT 폴더에는 한 폴더 위로 이동해야 하는 콘텐츠가 포함된 "#msgs"라는 하위 폴더가 있습니다. 저는 다음과 같이 어색한 3단계 방법을 사용했습니다.

cd /Users/SystemFive/Desktop/ROOT/PARENT\ DIRECTORY/CLIENT\ 1
mv \#msgs/* .

그 다음에

find . -type d -name "#msgs" -exec rm -fvr "{}" \;

100개가 넘는 클라이언트 폴더에 대해 이 작업을 수행해야 하므로 이는 내 프로젝트에 매우 번거로운 작업입니다. 저는 각 클라이언트 폴더를 통해 전체 상위 디렉터리를 실행할 수 있는 일종의 if/then 문을 만드는 방향을 찾고 있습니다. 도움을 주시면 감사하겠습니다. 감사합니다!

폴더 구조 스크린샷

답변1

find . -iname '#msgs' | perl -pe 's/(.*)(#msgs)/mv "$1$2\/*" "$1";\nrm -r "$1$2";/g' | bash

그것을 생략 | bash하고 그것이 무엇을 하는지 보십시오

관련 정보