私の状況は、各アセットフォルダに複数のファイルがあることです。たとえば.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
拡張子ごとに再利用して、ファイル拡張子とターゲットパスを変更できます。ファイルがどれだけ散在しているかに応じて、適切な検索ポイントを選択します(私はroot /を選択しました)。拡張機能がいくつかありますが、これが最善の選択になります。