誤ってflacフォルダーに入れられたすべてのmp3を親フォルダーに引き出したいです。
フォルダの深さは重要ではありません一致するファイルをちょうど1つ上のディレクトリに移動したいです
ファイルを選択する方法は次のとおりです。
find . -path "*/flac/*" -name '*.mp3'
これは私の音楽フォルダから動作しますが、私はここで立ち往生しています。私が見つけたすべてのソリューションは、ファイルを現在のフォルダーの親に移動するか、何らかの固定構造を必要とします。
試してください:
find . -path "*/flac/*" -name '*.mp3' -execdir mv -t ../ {} +
find .
現在のディレクトリで動作する検索コマンドを開始します。
-path "*/flac/*"
パスにflac
が含まれるファイルのみを選択します
-name '*.mp3'
拡張子が.mp3
のファイルのみを選択します。
-execdir mv -t ../ {} +
見つかったファイルについては、ファイルがあるディレクトリからmv
コマンドを実行し、ファイルを親ディレクトリに移動します。
この特定のタスクを簡単にすることに加えて、オプション-execdir
は従来の-exec
オプションよりも安全です。
find . -path "*/flac/*.mp3" -execdir mv -t ../ {} +