プロが教える店舗&オフィスのセキュリティ対策術

下のように各フォルダ内にreadme.txtファイルだけを特定のフォルダ内に
コピーしたいのですが、ファイル名が同じなので、元のフォルダ階層のように
フォルダを作成して、そのファイルだけがコピーされるようなfindを使った
器用な方法はできるのでしょうか?

私は、次の段階で躓いて折ります。
find ./ -name ".forward"


execを使い方法は、
find img/ -type d -exec chmod 604 {} \;
のようなことは使ったことはありますが、通過したフォルダを作成して、ファイルをコピーする
ような方法はどのように記述したらよいか、わかりません。

A
+-- a1.txt
| a2.txt
| readme.txt
B
+-- b1.txt
| b2.txt
| readme.txt
C
+-- c1.txt
c2.txt
readme.txt

A 回答 (1件)

例:下記のようなディレクトリ構成で各ディレクトリ(A,B,C)配下にあるreadme.txtをディレクトリsavedirにディレクトリを作成しつつコピーする場合。



ディレクトリ構成例
+A-+-- a1.txt
|  +-- a2.txt
|  +-- readme.txt
|
+B-+-- b1.txt
|  +-- b2.txt
|  +-- readme.txt
|
+C-+-- c1.txt
|  +-- c2.txt
|  +-- readme.txt
|
+savedir ←コピー先


ディレクトリ(A,B,C,savedir)があるディレクトリ配下に移動後以下のコマンドを実行。

# find A B C -name "readme.txt" -print | cpio -pdv savedir
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています