回答:
A
ディレクトリに移動して実行します
find . -mindepth 2 -type f -print -exec mv {} . \;
つまり、「このディレクトリとそのサブディレクトリ内のすべてのファイルを検索し、ターゲットディレクトリでmvを実行します。見つかったファイルごとに、それらを現在のディレクトリに移動します。
find
、あなたはもう少しエレガントでない産卵することができmv
、各ファイルのためのプロセス:find A -mindepth 2 -type f -exec mv -t A \{\} +
find . -mindepth 2 -type f -print -exec mv --backup=numbered {} . \;
たとえば、ファイルを作成し、「cutme」という名前を付けることができます(ターミナルタイプでcutmeというファイルを作成するには、nano cutme
CTRL + Xを押してからENTERを押します)。
find * -type f -print -not -type d -and -not -regex 'cutme' -exec mv {} .. \;
行内の名前cutmeに注意してください。実行するスクリプトと同じでなければなりません。
ファイルを作成して上記の行を貼り付けた後、スクリプトと同じフォルダーで次を実行します。
chmod +x cutme
。これにより、新しいファイルに「実行可能」フラグが付与されるため、次のように実行できます./cutme
。
mv */* .
か?