내 폴더 구조는 다음과 같습니다.
Photos
|
|---> 2015-08-23
|
|---> IMG_0019.JPG // keep
IMG_0019.JPG.json // toss
IMG_0020.JPG // keep
IMG_0020.JPG.json // toss
IMG_0021.JPG // keep
IMG_0021.JPG.json // toss
metadata.json // toss
2015-08-24
|
|---> IMG_0242.MP4 // keep
IMG_0242.MP4.json // toss
metadata.json // toss
2015-08-25
|
|---> IMG_0243.MOV // keep
IMG_0243.MOV.json // toss
IMG_0243(1).MOV // keep
IMG_0243(1).MOV.json // toss
IMG_0244.PNG // keep
IMG_0019.PNG.json // toss
metadata.json // toss
이것은 계속해서 진행됩니다. 내 목표는 이런 폴더 구조로 끝나는 것입니다
Photos
|
|--> IMG_0019.JPG
IMG_0020.JPG
IMG_0021.JPG
IMG_0242.MP4
IMG_0243.MOV
IMG_0243(1).MOV
IMG_0244.PNG
...
수정 버전을 만들 생각이에요기사 각 디렉터리를 반복하면서 정규식을 수행하여 중요한 파일만 가져오겠습니다. 그것은 다음과 같습니다:
// get a list of all directories
// loop through directories
// get all contents in directory
// loop through all contents in directory
// determine if file is of value (ie. MP4, PNG, MOV, JPG, etc.)
// move selected file out to parent directory
// remove directory
어떤 도움이라도 대단히 감사하겠습니다.
답변1
예상되는 결과의 구조로 판단하면 로 시작하지 않는 항목만 유지하면 됩니다 .json
.
cd Photos
find . -type f ! -name *.json -exec mv {} . \; && rm -rf 2015*
Photos 디렉터리에서 로 끝나지 않는 파일을 찾아 현재 디렉터리 .json
로 이동한 다음 하위 디렉터리와 그 안의 불필요한 파일을 삭제합니다. 각 디렉터리를 삭제하기 전에 메시지를 표시하도록 이를 .
사용하거나 , 나머지 파일과 해당 디렉터리를 삭제하기 전에 마음이 바뀔 경우를 대비하여 및 명령을 개별적으로 실행할 수도 있습니다.rm -ri 2015*
find
rm