Sponsored Content
Top Forums UNIX for Dummies Questions & Answers [Solved] weird in find -exec command Post 302695291 by Lem on Sunday 2nd of September 2012 02:10:24 PM
Old 09-02-2012
Quote:
Originally Posted by alister
Notice that the -exec ls ... output shows duplicate filenames.
There, not here. Not with my GNU find, which works as expected.

Please, again, try yourself:
Code:
lem@biggy:/tmp$ touch {file,test}{1,2,3}
lem@biggy:/tmp$ find /tmp/*test* -ls
197009    0 -rw-rw-r--   1 lem      lem             0 set  2 20:03 /tmp/test1
197010    0 -rw-rw-r--   1 lem      lem             0 set  2 20:03 /tmp/test2
197011    0 -rw-rw-r--   1 lem      lem             0 set  2 20:03 /tmp/test3
lem@biggy:/tmp$ find /tmp/*test* -exec ls -l '{}' \;
-rw-rw-r-- 1 lem lem 0 2012-09-02 20:03 /tmp/test1
-rw-rw-r-- 1 lem lem 0 2012-09-02 20:03 /tmp/test2
-rw-rw-r-- 1 lem lem 0 2012-09-02 20:03 /tmp/test3
lem@biggy:/tmp$ find /tmp/*test* -exec ls -lr '{}' +
-rw-rw-r-- 1 lem lem 0 2012-09-02 20:03 /tmp/test3
-rw-rw-r-- 1 lem lem 0 2012-09-02 20:03 /tmp/test2
-rw-rw-r-- 1 lem lem 0 2012-09-02 20:03 /tmp/test1

Quote:
There is nothing in that find command that prints a matching file name twice (and non-consecutively), and since a directory cannot contain two identically-named files, the shell must be matching one or more directories with that pattern (in addition to *test* files in tmp, if any).
Strange. He run an -exec -ls -l, not an -execdir. And he didn't notice that the files were in different subdirectories!?

Quote:
With a directory path, the -exec predicates of those find commands will list or attempt to delete every regular file in that directory and its subdirectories, regardless of a file's name.
Of course.
So you're saying that his find is working as expected, too. Nice. Smilie
--
Bye

Last edited by Lem; 09-02-2012 at 03:36 PM..
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

find command exec error

Hi All, i am writing a shell script in korn shell which deletes all the files in a directory once in every 10DAYS. the directory has different format files. the script has something like this; cd /home/data/pavi echo "Please Enter the Number of Days to search for" read DAYS... (2 Replies)
Discussion started by: pavan_test
2 Replies

2. UNIX for Advanced & Expert Users

Find command with prune and exec

Hi, I'm using the following command to get a list of files on the system. find /releases -type f -exec ls -l > /home/sebarry/list.txt '{}' \; however, its searching a directory I don't want it to search so I know I have to use prune but I don't seem to be able to get prune and exec to work... (1 Reply)
Discussion started by: Sebarry
1 Replies

3. Shell Programming and Scripting

find command with -exec

Hi People, I have a directory full of compressed files (.Z extention) In many of these files there is a string pattern (3800078163033) I want to find all file names which contain this string in their text. Regards, Abhishek (2 Replies)
Discussion started by: max29583
2 Replies

4. Shell Programming and Scripting

How to get the exit code of -exec in the find command

Hi I have a little problem with the find command in a script that I'm writing. The script should check if there are some files younger than 100 seconds and then syncronise them with rsync. My find command: find -type f -cmin -100 -exec rsync -a --delete directory1/ directory2/ When I... (8 Replies)
Discussion started by: oku
8 Replies

5. Shell Programming and Scripting

find command to use multiple -exec options

Hello All, Is there a way to make exec do a couple of operations on a single input from find? For example, find . -type d -exec ls -l "{}" ";" I would like to give the result of each "ls -l" in the above to a wc. Is that possible? I want to ls -l | wc -l inside exec. How do I... (1 Reply)
Discussion started by: prasanna1157
1 Replies

6. Shell Programming and Scripting

find command with -exec

Hi all, Please could someone help with the following command requirement. I basically need to find files NEWER than a given file and order the result on time. My attempt so far is as follows: find . -newer <file_name> -exec ls -lrt {} ;\ But I dont seem to get the right result... (12 Replies)
Discussion started by: jonnyd
12 Replies

7. UNIX for Dummies Questions & Answers

What does the '\' in find -exec command

Hi, I have two scripts that remove files. One works fine and is coded find -name "syst*" -mtime +1 -exec rm {} \; The other is almost the same - only thing missing is the '\'. On that script though I keep getting: rm syst1202.file ? etc Does the \ make that difference or is it a... (3 Replies)
Discussion started by: Grueben
3 Replies

8. Shell Programming and Scripting

Find and move command with exec

Hi all, I am trying to find files newer than a given file and them mv them to a new location. So I far I have: find . ! -newer <file_name> -exec ls -l {} \; and find . ! -newer <file_name> -exec mv /TEMP_LOCATION {} \; find is not liking this. Anyone know how to modify the last... (2 Replies)
Discussion started by: jonnyd
2 Replies

9. Shell Programming and Scripting

Linux find command seems to not transmit all the result to the '-exec command'

Hello. From a script, a command for a test is use : find /home/user_install -maxdepth 1 -type f -newer /tmp/000_skel_file_deb ! -newer /tmp/000_skel_file_end -name '.bashrc' -o -name '.profile' -o -name '.gtkrc-2.0' -o -name '.i18n' -o -name '.inputrc' Tha command... (3 Replies)
Discussion started by: jcdole
3 Replies
INNCHECK(8)						      System Manager's Manual						       INNCHECK(8)

NAME
inncheck - check inn configuration and database files. SYNOPSIS
inncheck [ -a ] [ -v ] [ -pedantic ] [ -f ] [ -perm ] [ -noperm ] [ file=value | file ] DESCRIPTION
Inncheck examines various configuration files and databases and verifies things about them. Things verified depend on the file being checked, but generally are things like permissions, ownership, syntax errors in config files etc. Inncheck does not make changes to any files -- it just reports what it thinks may be wrong, and it is up to the operator to fix the prob- lem. The set of files checked may be restricted by using file or file=value arguments. For example, putting incoming.conf causes only the incom- ing.conf(5) file to be checked. Using incoming.conf=/tmp/incoming.conf on the command line will cause inncheck to only verify the incom- ing.conf file, and it will perform the checks on the file /tmp/incoming.conf file instead of the default one. Valid values for file are: active control.ctl expire.ctl incoming.conf inn.conf moderators newsfeeds overview.fmt nntpsend.ctl passwd.nntp OPTIONS
-a If any ``file'' value or ``file=value'' pairs (see below) are given, then normally only the files they refer to are checked. Use the ``-a'' flag to specify that all files should be checked regardless. In this case the form file=value will be the more useful. -v Use the ``-v'' option to get more verbose output. -pedantic Use the ``-pedantic'' option to get reports on things that are not necessarily wrong, but may indicate a bad configuration -- such as inn.conf(5) missing a key. -f Use the ``-f'' flag to have inncheck print the appropriate chown/chgrp/chmod command necessary to fix a problem that it reports. Any other output lines will be prefixed with a ``#'' character to make the output be valid input for a shell. Note that the ``-perm'' flag must be used as well when using this flag. -perm Inncheck checks all files for permission problems. If the ``-perm'' flag is used, then only the files specified by the file or file=value command line arguments will be checked for problems other than permission problems. -noperm To avoid doing any checking of file permissions or ownership, use the ``-noperm'' option. EXAMPLES
To have inncheck check all files for syntax and permission problems simply: inncheck To have inncheck check all files for permission problems and to verify the syntax of the active and incoming.conf files do: inncheck -perm active incoming.conf To have inncheck check the test newsfeeds file in /var/tmp/newsfeeds.testing, do: inncheck newsfeeds=/var/tmp/newsfeeds.testing To have inncheck check all the files as it normally does, but to specify a different location for the newsfeeds file, so: inncheck -a newsfeeds=/var/tmp/newsfeeds.testing BUGS
If the ``-f'' and ``-perm'' options are used together, along with ``-a'' or some ``file'' or ``file=value'' arguments that refer to a file with a syntax problem, then the output will no longer be valid input for a shell. HISTORY
Written by Brendan Kehoe <brendan@cygnus.com> and Rich Salz <rsalz@uunet.uu.net> This is revision 1.5, dated 1998/10/30. SEE ALSO
active(5), expire.ctl(5), history(5), incoming.conf(5), inn.conf(5), newsfeeds(5) INNCHECK(8)
All times are GMT -4. The time now is 05:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy