폴더를 삭제하고 선택한 파일만 유지하는 방법은 무엇입니까?

폴더를 삭제하고 선택한 파일만 유지하는 방법은 무엇입니까?

내 폴더 구조는 다음과 같습니다.

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*findrm

관련 정보