True - my bad. My only excuse is one shouldn't answer threads before the second coffee.
This will probably not work either, because now the directory hierarchy will not become copied and some files (the one in sub-subdirectories) will have no proper targets. I suggest to do it in a two-pass way:
The first pass creates a copy of the directory structure, the second copies all the files. If you need to copy filemodes, ownerships, etc. too, you need to modify the "cp"-command accordingly: "cp -p ...".
@Chubler_XL: using "tar" for that was my first impulse, but it would limit the solution to a system where the GNU-tar is available.
I hope this helps.
bakunin
We both needed something before we replied to this thread. I noticed that you hadn't included -type f and then posted a fix that had its own problems. And fixed it, and fixed it again, and fixed it again in a period of about 10 minutes. And, unfortunately, I can't use lack of coffee as an excuse. (I have a caffeine allergy, so I never drink coffee.)
And, I don't think:
does what you were thinking either. The first find does copy the directory hierarchy under sourcedir to targetdir, but the second find still copies all of the non-.wmv files to the targetdir directory; not to their corresponding places in the newly created hierarchy. And, find -exec command + can only be used when there is no more than one {} in the command, and, if there is one, it has to be the last operand in that command.
The OP's desired destination for the copied files seems ambiguous to me. I don't know if the intent is to duplicate the file hierarchy or if the intent is to flatten the file hierarchy into the single directory named as targetdir.
If the intention is to flatten the hierarchy, I still believe:
is sufficient.
The the intention is to preserve the hierarchy, I believe we would need something like:
I believe this could be combined into a single find command to avoid walking the tree twice, but with the thousands of invocations of cp the additional complexity might overshadow any performance gain:
Are we having fun yet???
Hi
I am a shell-script newbie and am looking to synchronize certain files in two directory structures.
Both these directory-trees are in CVS and so I dont want the CVS directory to be copied over.
I want only .sh and .pl files in each subdirectory under these directory trees to be... (3 Replies)
Hello,
I have several files in a specific directory.
A specific string in one file can occur in another files.
If this string is in other files. Then all the files in which this string occured should be deleted and only 1 file should remain with the string.
Example.
file1
ShortName "Blue... (2 Replies)
I hope this isn't as silly as it sounds from the title of the thread.
I have software that outputs files where the name starts with a real number followed by underscore as a prefix to an input file name. These will list in the directory with the file with the smallest real number prefix as the... (5 Replies)
Hi all:
Here's my dilemma: to identify files of a specific type, copy them to a new location while preserving the original file attributes (date, time, full path, etc), and at the same time capture the count of the number of files identified as a variable for later reporting.
Here's where I... (9 Replies)
I have directory that has some billion file inside , i tried copy some files for specific date but it's always did not respond for long time and did not give any result.. i tried everything with find command and also with xargs..
even this command find . -mtime -2 -print | xargs ls -d did not... (2 Replies)
How to copy files from one directory to another directory with the subfolders copied.
If i have folder1/sub1/sub2/* it needs to copy files to folder2/sub1/sub2/*.
I do not want to create sub folders in folder2.
Can copy command create them automatically?
I tried cp -a and cp -R but did... (4 Replies)
he following are the files available in my directory
RSK_123_20141113_031500.txt
RSK_123_20141113_081500.txt
RSK_126_20141113_041500.txt
RSK_126_20141113_081800.txt
RSK_128_20141113_091600.txt
Here, "RSK" is file prefix and 123 is a code name and rest is just timestamp of the file when its... (7 Replies)
Is it possible to only copy selected files+its directories when you are copying recursively?
find /OriginalFolder/* -type -d \{ -mtime 1 -o -mtime 2 \ } -exec cp -R {} /CopyTo/'hostname'__CopyTo/ \; -print
From the above line, I want to only copy *txt and *ini files from /OriginalFolder/*
... (4 Replies)