Webサイト工事中です! 閲覧できますが不具合があるかもしれません

覚書 : 特定のディレクトリや拡張子以外をコピー(cp)する方法

例えば、以下のような構造をしたディレクトリ(フォルダ)があるとして、それぞれのディレクトリ内に存在するsrc/を除いたファイルをコピーしたいとき、cpコマンドとfindコマンドを組み合わせて書くこともできますが、rsyncを使ったほうが早いです。

folder1/
  ┣ App1/
  ┃  ┣ bin/
  ┃  ┗ src/
  ┣ App2/
  ┃  ┣ bin/
  ┃  ┗ src/
  ┣ App3/
  ┃  ┣ bin/
  ┃  ┗ src/
  ┣ App4/
  ┃  ┣ bin/
  ┃  ┗ src/
  ┗ App5/
      ┣ bin/
      ┗ src/

をfolder2に以下のようにコピーしたい。

folder2/
  ┣ App1/
  ┃  ┗ bin/
  ┣ App2/
  ┃  ┗ bin/
  ┣ App3/
  ┃  ┗ bin/
  ┣ App4/
  ┃  ┗ bin/
  ┗ App5/
      ┗ bin/

 

以下のようにコマンドを実行することでうまくいきます。

$ rsync -av folder1/ folder2/ --exclude "*/bin/"

 

それに加えて特定の拡張子(*.obj)のファイルを除外したい場合は以下のようなコマンドを書くことでいけます。

$ rsync -av folder1/ folder2/ --exclude "*/bin/" --exclude "*.obj"

 

参考資料

HTMLファイルだけを別のディレクトリにコピーする | 渋谷生活

 

新しいLinuxの教科書

新しいLinuxの教科書

三宅 英明, 大角 祐介
2,778円(11/21 02:00時点)
Amazonの情報を掲載しています
[改訂第3版]Linuxコマンドポケットリファレンス

[改訂第3版]Linuxコマンドポケットリファレンス

沓名 亮典
2,618円(11/21 12:03時点)
Amazonの情報を掲載しています

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

SESSIONS や Tokyo Demo Fest 等のイベントを主催してる人
各種最適化やIT・インフラ・3DCGが好き
◆YouTube: http://youtube.com/@FL1NE_
◆X(Twitter): @FL1NE

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次