イメージのみを再帰的にコピーし、パスを保存します。

イメージのみを再帰的にコピーし、パスを保存します。

ウェブサイトの移行作業を行っています。 URLに表示されるすべてのファイルとディレクトリ構造を含むWebサイトのスクリーンショットがあります。すべての画像を抽出し、ディレクトリ構造を維持し、新しい場所にコピーしたいと思います。

たとえば、私が持っている場合

/content1/index.php
/content1/page2.php
/content1/images/image1.jpg
/content1/images/image2.jpg
/content1/background/spacer.gif
/content1/background/background.gif
/content2/index.php
/content2/images/image3.jpg
/content2/background/spacer.gif
/content2/background/background.gif

だから私は欲しい

/content1/images/image1.jpg
/content1/images/image2.jpg
/content1/background/spacer.gif
/content1/background/background.gif
/content2/images/image3.jpg
/content2/background/spacer.gif
/content2/background/background.gif

コマンドを使用してイメージファイルのリストのみを取得できますが、findディレクトリパスを維持しながら各ファイルを操作する方法がわかりません。

ディレクトリ全体をコピーしてから画像ではなくファイルを再帰的に削除することはできますが、今この問題を自分自身の前に設定したので、実際にこれを行う必要がある場合に備えてどのように行うかを知る価値があると思います。未来。 。

ベストアンサー1

次のコマンド(findおよびcpオプション--parent)を試してください。

find /source -regextype posix-extended -regex '.*(gif|jpg)' \
    -exec cp --parents {} /dest \; -print

おすすめ記事