From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16956 invoked by alias); 23 Feb 2014 03:52:16 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 18504 Received: (qmail 17180 invoked from network); 23 Feb 2014 03:52:09 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 MIME-version: 1.0 Content-transfer-encoding: 8BIT Content-type: text/plain; charset=UTF-8; format=flowed X-Authority-Analysis: v=2.1 cv=Xr3DZz19 c=1 sm=1 tr=0 a=wzkNhIfUk+Pbik4bHCZ60A==:117 a=wzkNhIfUk+Pbik4bHCZ60A==:17 a=HIA4oEAs-AEA:10 a=C4-0olDXkQ0A:10 a=IkcTkHD0fZMA:10 a=sm1gn8UqoEsA:10 a=1D6slFYJAlwFva1CUTAA:9 a=QEXdDO2ut3YA:10 Message-id: <53096967.7060407@eastlink.ca> Date: Sat, 22 Feb 2014 19:22:15 -0800 From: Ray Andrews User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20131103 Icedove/17.0.10 To: zsh-users@zsh.org Subject: Re: Copying certain subdirectories retaining structure References: <1393105212.21091.2.camel@air.home.fifi.org> In-reply-to: <1393105212.21091.2.camel@air.home.fifi.org> On 02/22/2014 01:40 PM, Philippe Troin wrote: > On Sat, 2014-02-22 at 20:06 +0000, zzapper wrote: >> I want to copy all files in subdirectories named /good/ to a USB while >> retaining directory structure >> >> /aaa/pic/good >> /aan/dogs/good/ >> /dir1/dir2/dir3/good/ > for i in **/good(/) > do > dest=/media/usbkey/$i > mkdir -p $i:h > cp -a $i /media/usbkey/$i > done > > Phil. > > This is less elegant but maybe more direct: find . -name target -type d -exec cp --parents -r '{}' /aWorking/temp \; .... where 'target' is the name of the dir you're looking for and in this test case, I'm copying to /aWorking/temp/ from /aWorking/aJunk/ source tree: pts/2 HP-y5-10-Debian1 root /aWorking/aJunk $ t . ├── [ 12K] one │ └── [8.0K] two │ └── [4.0K] target ├── [ 20K] onea │ └── [ 16K] twoa │ └── [ 12K] threea │ └── [8.0K] target │ ├── [ 0] file1 │ ├── [ 0] file2 │ ├── [ 0] file3 │ └── [4.0K] subdir │ ├── [ 0] file1 │ ├── [ 0] file2 │ └── [ 0] file3 └── [ 20K] oneb ├── [ 0] file1 ├── [ 0] file2 ├── [ 0] file3 └── [ 16K] twob └── [ 12K] target ├── [ 0] file1 ├── [ 0] file2 ├── [ 0] file3 └── [8.0K] target └── [4.0K] target 56K used in 13 directories, 12 files target tree: pts/2 HP-y5-10-Debian1 root /aWorking/temp $ t . ├── [ 12K] one │ └── [8.0K] two │ └── [4.0K] target ├── [ 20K] onea │ └── [ 16K] twoa │ └── [ 12K] threea │ └── [8.0K] target │ ├── [ 0] file1 │ ├── [ 0] file2 │ ├── [ 0] file3 │ └── [4.0K] subdir │ ├── [ 0] file1 │ ├── [ 0] file2 │ └── [ 0] file3 └── [ 20K] oneb └── [ 16K] twob └── [ 12K] target ├── [ 0] file1 ├── [ 0] file2 ├── [ 0] file3 └── [8.0K] target └── [4.0K] target 56K used in 13 directories, 9 files ... correctly missing three files.