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