我的情况是,我有多个.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
对每个文件扩展名重复使用,更改文件扩展名和目标路径。根据文件的分散程度,选择适当的搜索点(我选择根 / )。如果您只有几个不同的扩展名,这将是最佳选择。