![확장자를 기반으로 특정 디렉터리의 파일을 새로 생성된 디렉터리로 이동하는 방법은 무엇입니까?](https://linux55.com/image/118661/%ED%99%95%EC%9E%A5%EC%9E%90%EB%A5%BC%20%EA%B8%B0%EB%B0%98%EC%9C%BC%EB%A1%9C%20%ED%8A%B9%EC%A0%95%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%9D%98%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%83%88%EB%A1%9C%20%EC%83%9D%EC%84%B1%EB%90%9C%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EB%A1%9C%20%EC%9D%B4%EB%8F%99%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 상황은 각각의 자산 폴더에 여러 개의 파일이 있다는 것입니다. 예를 .m3u8
들어 ,.ts
/vod/CDN/ABC/index/.m3u8 and .ts
/vod/CDN/DEF/index/.m3u8 and .ts
...
/vod/CDN/XXX/index/.m3u8 and .ts
모든 /index/ 디렉토리를 찾아 해당 합계를 새로 생성된 해당 디렉토리로 각각 *.m3u8
이동하고 싶습니다. *.ts
예를 들어 *.m3u8
다음으로 이동 **/hls/index/**
하고 *.ts
다음으로 이동합니다.**/index/hls/**
결과는 다음과 같아야 합니다.
/vod/CDN/ABC/hls/index/.m3u8
/vod/CDN/ABC/index/hls/.ts
/vod/CDN/DEF/hls/index/.m3u8
/vod/CDN/DEF/index/hls/.ts
...
/vod/CDN/XXX/hls/index/.m3u8
/vod/CDN/XXX/index/hls/.ts
일부 전문가가 위 작업을 수행하기 위해 bash 스크립트를 작성하는 방법에 대해 알려줄 수 있습니까?
답변1
이는 낮은 수준의 솔루션이지만 디렉터리가 너무 많지 않은 경우 디렉터리를 만든 다음 mv `find / -name *.extension` /destinationPath
각 파일 확장자에 대해 재사용하여 파일 확장자와 대상 경로를 변경할 수 있습니다. 파일이 얼마나 흩어져 있는지에 따라 적절한 검색 지점을 선택합니다(저는 루트 / 를 선택했습니다). 확장 기능이 몇 가지만 있는 경우 이것이 최선의 선택이 될 것입니다.