copy files


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users copy files
# 1  
Old 04-10-2004
copy files

Hi,
Under the home directory, I want to search for all the *.xml files and move them all into another folder under home.

Is it possbile using a single find command .



Regards,
Chirayu Sutaria
# 2  
Old 04-10-2004
Try something like

Code:
find /home -name '*.xml' -exec cp \{\} /home/somedir \;

# 3  
Old 04-10-2004
Hi,
Thanks for a lightning quick response.
However, Please explain what does cp \{\} signify

Regards,
Chirayu Sutaria
# 4  
Old 04-10-2004
The -exec part specifies the command to execute by the find(1) command. cp is the command used to copy files (if you want to move instead of copy, use mv instead). The manpage tells you that the command string has to be terminated by a ; token. That's why at last there is a \; (has to be escaped because the shell recognizes ; as the end of a shell command and thus the semicolon itself will not be passed to find(1)). The command portion in full is thus

cp \{\} /home/somedir

The find(1) manpage says {} will be expanded to the filename resulting from the find before invoking the command specified. Again we need to escape them because they are used by the shell as well.
# 5  
Old 04-10-2004
MySQL

Hi,
Thanks , It was really very very guiding...


Regards,
Chirayu Sutaria
# 6  
Old 04-12-2004
Quote:
Originally posted by cbkihong
The -exec part specifies the command to execute by the find(1) command. cp is the command used to copy files (if you want to move instead of copy, use mv instead). The manpage tells you that the command string has to be terminated by a ; token. That's why at last there is a \; (has to be escaped because the shell recognizes ; as the end of a shell command and thus the semicolon itself will not be passed to find(1)). The command portion in full is thus

cp \{\} /home/somedir

The find(1) manpage says {} will be expanded to the filename resulting from the find before invoking the command specified. Again we need to escape them because they are used by the shell as well.
curious what kinda os are you useing cbkihong?
on solaris8 and aix 4.3.3 you do not need to escape the {}.
# 7  
Old 04-12-2004
Linux + bash

EDIT: It seems like indeed {} neither needs to be escaped in bash. But seeing them escaped in examples in one of my linux security books, I followed the author's advice nevertheless.

Last edited by cbkihong; 04-12-2004 at 09:20 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Copy files from one drive to another, keeping most recently modified files

Hi all, I am a bit of a beginner with shell scripting.. What I want to do is merge two drives, for example moving all data from X to Y. If a file in X doesn't exist in Y, it will be moved there. If a file in X also exists in Y, the most recently modified file will be moved to (or kept) in... (5 Replies)
Discussion started by: apocolapse
5 Replies

2. Red Hat

Unable to copy files due to many files in directory

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)
Discussion started by: before4
2 Replies

3. Shell Programming and Scripting

how to copy files followed by list of names of all the files in /etc?

....... (2 Replies)
Discussion started by: pcbuilder
2 Replies

4. Solaris

How to safely copy full filesystems with large files (10Gb files)

Hello everyone. Need some help copying a filesystem. The situation is this: I have an oracle DB mounted on /u01 and need to copy it to /u02. /u01 is 500 Gb and /u02 is 300 Gb. The size used on /u01 is 187 Gb. This is running on solaris 9 and both filesystems are UFS. I have tried to do it using:... (14 Replies)
Discussion started by: dragonov7
14 Replies

5. UNIX for Dummies Questions & Answers

copy files

Hi Team, I am unable to copy the files, when i run the below script, i am getting error as file not present, not sure what i am missing. # File to be looked upon File_Pattern='*.zip' TMP_FILE=flagfile Check=`find $Directorypath -name $File_Pattern -type f -newer $TMP_FILE -print |... (6 Replies)
Discussion started by: Naveen_5960
6 Replies

6. UNIX and Linux Applications

Copy all files

how i can copy all files " select all " in one step t try command cp -t (2 Replies)
Discussion started by: walidfinder
2 Replies

7. UNIX for Dummies Questions & Answers

copy only new files or files of a different size

hello i would like to copy files from 1 location to a nother, but it has only to copy files which are newer or have a different filesize. all has to be logged to a copy.log file (als skipped files should be in the log) is this possible with the cp command (1 Reply)
Discussion started by: arnoldg
1 Replies

8. Shell Programming and Scripting

To copy everything except 2 files

Hi all, I would want to copy everything in a particular directory. However would want to exclude 2 files: DIMStemp01.dbf DIMSts01.dbf I tried to: (1) ls files except these 2 files into abc.txt (2) Read from abc.txt and start copying. It works, however is there any easier way? Eg.... (6 Replies)
Discussion started by: *Jess*
6 Replies

9. SCO

How do you copy files from CD

How do you copy files fra a cd-rom to a directory on the computer? (2 Replies)
Discussion started by: Schnell
2 Replies

10. UNIX for Advanced & Expert Users

copy of files

hi all i have a script,which when executed must copy 3 files from a directory on boxA to the same directory on boxB.I'm using scp to copy these files,the problem is out ofthe 3 files only1 is been copied and not the other 2, i have permissons for the files,any ideas are appreciated thnks (2 Replies)
Discussion started by: bkan77
2 Replies
Login or Register to Ask a Question