私のメディアプレーヤーは、名前はまったく同じですが、拡張子が ".t"の新しいファイルを作成して(同じフォルダに)ビデオファイルを視聴したとマークします。たとえば、「SeinfeldS07E02.mp4」を見ると、「SeinfeldS07E02.mp4.t」というファイルが生成されます。
視聴したすべてのビデオファイルを自動的に別のフォルダに移動したいと思う最善の方法は、*.tファイルを探すシェルスクリプトを介して名前のベースとなる元のファイルを見つけて、そのファイルを別のフォルダに移動することだと思いました。フォルダ。 *.tファイルを見つけて移動する非常に単純なスクリプトがすでにありますが、範囲をさらに絞り込む方法がわかりません。これは可能ですか?
ベストアンサー1
ファイル名にスペースが含まれているか、それ以上の深刻な問題が発生するのを防ぐために、以下から直接すべてを実行することをお勧めしますfind
。
find /PATH/TO/SOURCE -name '*.mp4' \
-exec sh -c '[ -e "$1.t" ]
&& mv -- "$1" /PATH/TO/TARGET
&& rm -- "$1.t"' _ {} \;