私のディスクは、複数のフォルダにある多くの画像のために非常に複雑になりました。 .jpg拡張子を持つすべてのファイルだけを別のディスク上の単一のディレクトリにコピーする方法は?同じ名前の画像がたくさんあるかもしれませんが、それを維持したいと思います。たとえば、最後に別の番号を追加するだけです。
答え1
このコマンドを使用しないで、mc
次のコマンドで何かを実行することをお勧めします。bash
find
id=0;
s=.jpg;
while read f; do
cp $f targetdir/$(basename $f $s)$((id+=1))$s
done < <(find sourcedir -name '*'$s)
または文章で:
id=0;s=.jpg;while read f; do cp $f targetdir/$(basename $f $s)$((id+=1))$s; done < <(find sourcedir -name '*'$s)
sourcedir
ソースディレクトリツリーのルートとtargetdir
ファイルをコピーする目的のターゲットディレクトリに置き換えます。このfind
コマンドはソースツリーに再帰的にダウンします。
各ターゲットファイル名を一意にするためにカウンタが追加されるため、異なるディレクトリの同じファイル名を持つファイルが保存されます。