That will not work correctly due to operator precedence (the -exec only occurs when the basename matches *.csv).
Quote:
Originally Posted by rangarasan
@alister: Thanks, Please elabrate the issue.
When find parses it arguments, everthing that follows the last pathname argument (/usr/bin/sou/) is a primary argument (-name, -type, -exec, and so on). Each primary argument is a term in a boolean expression. In that expression's grammar, the logical AND operator (-a) has higher precedence than the logical OR operator (-o). When two primary arguments are not the operands of either -a or -o, -a is implicitly assumed.
Starting with your original command:
Adding the implicit AND operator:
Since -a is higher precedence than -o, the equivalent with precedence made explicit:
As you can now see, find will only mv the file if the basename matches *.csv. Note that nothing at all will happen when the basename matches *.txt. The -exec will not occur and since there's an -exec in the expression, find will not perform an implicit -print.
What you meant to do:
And even then, that may not be correct. The original post's attempt suggests that descending into subdirectories is not desired. If that's the case, this find command is still not adequate.
Regards,
Alister
These 2 Users Gave Thanks to alister For This Post:
all the files are moving including subdirectiores files also.how can i ll move only files present in the directory to one specified subdriectires which not move the files present in the other subdirectories
I need help to write shell script to copy files from one server to another server.
Source Directory UAE(inside i have another folder Misc with files inside UAE folder).I have to copy this to another server UAE folder( Files should be copied to UAE folder and Misc files should be copied in target... (3 Replies)
Hi,
Could you please assist how to move the gz files which are older than the 90 days from one folder to another folder ,before that it need to check the file system named "nfs" if size is less than 90 or not. If size is above 90 then it shouldn't perform file move and exit the script throwing... (4 Replies)
Hi,
I am presently working in a migration project from HP Unix to Sun Solaris.
I need to place all the directory structures, shell scripts and users into
Sun Solaris. By doing this task manually there is a possibility for
discrepencies. So any tools are there to do these kind of... (4 Replies)
Hi All,
i need to move all files in a directory to some other directory and need to archive them,,,
Ex.. Source_Path/my_directory/
files in it are... acw.csv
123.txt
bge.dat etc ..and we dont know how many files does my_directory contains and all are with different extensions ..so i need... (6 Replies)
Hi I have made a shell script which moves files from a trash bin back to the original directory and also has the option to restoring the file to a directory that is specified by the user. The restoring it to the original directory is working fine, the restoring it to a specified directory is now.... (2 Replies)
I have list of files named file_username_051208_025233.log. Here 051208 is the date and 025233 is the time.I have to run thousands of files daily.I want to put all the files depending on the date of running into a date directory.Suppose if we run files today they should put into 05:Dec:08... (3 Replies)
Hi,
I want to move only files not subdirectories.
I issued the below command, but subdirectories are also gets moved.
mv /ucrrpd/input/upload/ /ucsspd/common/history/
In the above case, all subdirectories in /ucrrpd/input/upload/ also gets moved to /ucsspd/common/history/
I want to... (1 Reply)