Sponsored Content
Top Forums Shell Programming and Scripting To copy everything except 2 files Post 302244670 by otheus on Wednesday 8th of October 2008 11:19:00 AM
Old 10-08-2008
MySQL

Several ways. In ksh and bash you can use
Code:
cp !(foo|bar) /my/destination/dir

to exclude files named "foo" and "bar".

Otherwise, you can do something like this:
Code:
echo cp `/bin/ls -1 . |grep -v "^foo$" | grep -v "^bar$" ` /my/destination/dir

There are more elegant and faster ways, but I'm not sure about portability. Also, this will pick up directory names, but rm will not remove them. Finally, when you are sure it's what you want to do, remove the "echo".

If your directory is really large, you'll need to use "xargs":
Code:
 ls -1 |grep -v ^foo$ | grep -v ^bar$ |xargs -i sh -c "test -f {} && echo cp {} /my/destination/dir "

This last one actually takes care to only remove files, and not hardlinks, sockets, directories, etc. Remove the "echo" to actually execute the copy.

Finally, there's always find:
Code:
 find  . -maxdepth 1 -type f \! \( -name foo -o -name bar -o -name foo*bar \) -exec echo cp "{}" /my/destination/dir ";"

Once again, this only touches files. You can make it completely recurse all directories by removing "maxdepth". Again, remove the "echo" to actually do it.

Last edited by otheus; 10-08-2008 at 12:21 PM.. Reason: oops you wanted to copy, not remove. put first example in code tags.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

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 (6 Replies)
Discussion started by: chirayus
6 Replies

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
CLASSKIT_METHOD_REDEFINE(3)						 1					       CLASSKIT_METHOD_REDEFINE(3)

classkit_method_redefine - Dynamically changes the code of the given method

SYNOPSIS
bool classkit_method_redefine (string $classname, string $methodname, string $args, string $code, [int $flags = CLASSKIT_ACC_PUBLIC]) DESCRIPTION
Note This function cannot be used to manipulate the currently running (or chained) method. Warning This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk. PARAMETERS
o $classname - The class in which to redefine the method o $methodname - The name of the method to redefine o $args - Comma-delimited list of arguments for the redefined method o $code - The new code to be evaluated when $methodname is called o $flags - The redefined method can be CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE Note This parameter is only used as of PHP 5, because, prior to this, all methods were public. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 classkit_method_redefine(3) example <?php class Example { function foo() { return "foo! "; } } // create an Example object $e = new Example(); // output Example::foo() (before redefine) echo "Before: " . $e->foo(); // Redefine the 'foo' method classkit_method_redefine( 'Example', 'foo', '', 'return "bar! ";', CLASSKIT_ACC_PUBLIC ); // output Example::foo() (after redefine) echo "After: " . $e->foo(); ?> The above example will output: Before: foo! After: bar! SEE ALSO
classkit_method_add(3), classkit_method_copy(3), classkit_method_remove(3), classkit_method_rename(3). PHP Documentation Group CLASSKIT_METHOD_REDEFINE(3)
All times are GMT -4. The time now is 03:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy