다음과 같은 디렉토리 구조가 있습니다.
├── Tom
│ └── c
│ └── 2
│ ├── file.jpg
│ └── text.txt
└── Sam
├── 1
│ └── c
│ └── music.aac
├── E
│ └── 9
│ └── pic.jpg
└── b
├── 9
│ └── sound.aac
└── d
└── book.doc
단일 명령으로 다양한 하위 폴더의 모든 파일을 기본 상위 폴더 (Tom, Sam 등)로 이동 한 다음 빈 하위 폴더를 모두 삭제하고 싶습니다. 어떻게 할 수 있습니까?
감사합니다
왜 한 줄짜리인지 잘 모르겠습니다. 그러나 여기에 한 가지 가능성이 있습니다. 주어진 디렉토리 트리에서 모든 파일을 찾고 이러한 파일을 두 디렉토리 위로 이동합니다.
find -type f | while read; do mv "$REPLY" "$(dirname $REPLY)/../../"; done
명령은 사용자가 제공 한 디렉토리 구조에 매우 적합하고 다른 경우를 고려하지 않으므로주의해서 사용하십시오 (예 : 표시 한 리프 디렉토리뿐만 아니라 모든 디렉토리에서 파일을 이동 함).
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다