특정 문자열("sub*")을 포함하는 모든 하위 폴더를 검색한 다음 발견된 폴더의 모든 파일을 해당 위치 레벨 1에서 위로 이동하려는 여러 하위 폴더가 있는 파일 구조가 있습니다. 이때 빈 폴더를 삭제하는 것도 가능하지만 두 번째 단계에서는 그렇게 할 수도 있습니다.
답변1
이렇게 하면 트릭을 수행할 수 있습니다.
find /path/to/base/folder/ -type d -name 'sub*' -exec bash -c 'mv {}/* "$(dirname {})"' \;
노트.
: 숨겨진 파일(이름이 로 시작하는 파일 ) 은 이동되지 않습니다.
답변2
find /path/to -type f -execdir mv {} .. \;