私が達成しようとしているようなことは、より複雑なスクリプトを必要とせずに組み込みのシェルツールで実行できると考えていました。
パス内のすべてのファイルを見つけて、それらが見つかった相対パスを保持する宛先ベースパスにコピーしたいと思います。
例:
私が走ったとしましょう:
[~:] find /path/src \( -name "*.jpg" -o -name "*.gif" \)
そしてそれが返されました:
/path/src/a.jpg
/path/src/dir1/b.jpg
/path/src/dir2/dir3/c.gif
私はそれらがすべてで終わることを望みます:
/path/dest/a.jpg
/path/dest/dir1/b.jpg
/path/dest/dir2/dir3/c.gif
-exec cp {} /path/dest \;
フラグを試してみましたfind
が、/path/dest にすべてがダンプされました。例えば:
/path/dest/a.jpg
/path/dest/b.jpg
/path/dest/c.gif