Why do these 2 find commands return different results?


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Why do these 2 find commands return different results?
# 8  
Old 04-05-2011
Watch out : since the -prune does not examine any directories or files in the directory structure below the pattern just matched, its position in the command line matter : you may want to put it on first position (at least, it does as far as i have tested on a solaris machine)

Code:
# find t???* -type f -prune
taitai/tutututu
tst2
tstt
tyty/tyty.f
tyty/toutou/toutou.f
tyty/toutou/whatever/whatever.f
# find t???* -prune -type f
tst2
tstt
#

We 've just cross posted, i have updated my previous post you can get a look at it back again Smilie
# 9  
Old 04-05-2011
Quote:
Originally Posted by ctsgnb
Give a try to
Code:
find ????10??_*.dat -prune -type f -mtime +91

If Im not mistaken
Code:
 
find ????10??_*.dat -prune -type f -mtime +91

does the same as
Code:
 
find ????10??_*.dat -type f -mtime +91

What I was asking was how to use -prune with
find . -name '????10??_*.dat' -type f -mtime +91 so it would work the same as find ????10??_*.dat -type f -mtime +91

I am using korn on Solaris 10, the man for find doesnt have anything about -maxdepth so it must be bash or another unix flavour command.
# 10  
Old 04-05-2011
Quote:
Originally Posted by stumpy1
If Im not mistaken
Code:
 
find ????10??_*.dat -prune -type f -mtime +91

does the same as
Code:
 
find ????10??_*.dat -type f -mtime +91

No it is not the same, at least, as far as i have tested ... here is a shorter example :
Code:
# find t???* -type f
taitai/tutututu
tst2
tstt
tyty/tyty.f
tyty/toutou/toutou.f
tyty/toutou/whatever/whatever.f

Code:
# find t???* -prune -type f
tst2
tstt
#

See : with the -prune, it didn't displayed the taitai nor tyty directories

Just give a try to the suggestion i did in post #6 and let me know

Last edited by ctsgnb; 04-05-2011 at 11:11 AM..
# 11  
Old 04-05-2011
Maybe something like...
Code:
find . \( ! -name . -type d  -prune \) -o -name '????10??_*.dat' -type f -mtime +91 -print

# 12  
Old 04-05-2011
Or just

Code:
find ./????10??_*.dat -prune -mtime +91

All depends whether the directory matching the pattern are wanted or not.

Since the -type f option was initially used by stumpy1, i assumed the directory matching the pattern was not expected.

@Perderabo,

I tested your code with my example (and leaving the -mtime last filter) :

Code:
# find . \( ! -name . -type d  -prune \) -o -name 't???*' -type f
./tst2
./taitai
./tyty
./tstt

So you code also return the directories just like this one would :
Code:
 # find ./t???* -prune
./taitai
./tst2
./tstt
./tyty

Just FYI, the tree i have setup for test purpose was :

Code:
# find . -name 't???*' -type f
./tst2
./taitai/tutututu
./tyty/tyty.f
./tyty/toutou/toutou.f
./tstt


Last edited by ctsgnb; 04-05-2011 at 11:41 AM..
# 13  
Old 04-05-2011
Just to flog a dead horse maybe..
Code:
find . \( ! -name . -type d  -prune \) -o   \( -name '????10??_*.dat' -type f -mtime +91 -print \)

Like you I assume that no directories matching the name are expected to exist. The first -type d is just to control the pruning... prune all directories except for . )
This User Gave Thanks to Perderabo For This Post:
# 14  
Old 04-05-2011
@stumpy

I am not sure to understand what entries you expect or not in your output :

Could you please show us an example of what kind of entries you want to reach and what kind of entries you do not want ?
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Weird 'find' results

Hello and thanks in advance for any help anyone can offer me I'm trying to learn the find command and thought I was understanding it... Apparently I was wrong. I was doing compound searches and I started getting weird results with the -size test. I was trying to do a search on a 1G file owned by... (14 Replies)
Discussion started by: bodisha
14 Replies

2. Shell Programming and Scripting

Get the return value and get the output to $results

cmd() { echo " " echo "$(whoami)@$(hostname):$(pwd)# $*" results=`eval $*` echo $results } I want to get the eval $* 's return value and pass it to a new variable $val, and get "eval $*" 's the ... (7 Replies)
Discussion started by: yanglei_fage
7 Replies

3. Red Hat

Understanding Results from df and du commands

Good day every one. When a use df -h comand on my read hat linux server i get something like this: /dev/mapper/Vg02-Lv19 30G 29G 145M 100% /app Then when i do du -sh /app/ i get 12G /app/ For me it is meaning that only 12G was used on /app partition. How can i see where are... (9 Replies)
Discussion started by: cgege
9 Replies

4. UNIX for Advanced & Expert Users

Insert Data into db and return php results

This is a three step process: a) Upload date ->scrub\prep data, b) insert into db, c) return php results page. I have a question about the best practices for unix to process this. I have data from a flat file that I've scrubbed and cleaned with sed and awk. When it is complete I have an... (0 Replies)
Discussion started by: dba_frog
0 Replies

5. UNIX for Dummies Questions & Answers

Output results of multiple commands to a file

Hi I want to output the results of multiple commands to a single file. I use simple Ping, telnet commands to check the connectivity to many servers. Can i execute all the commands and write the output to a file instead of executing them one by one? Thanks Ashok (2 Replies)
Discussion started by: ashok.k
2 Replies

6. Shell Programming and Scripting

Backing out of a script if command doesn't return any results?

Hello I have a script which emails identifies the user ID of a user and sends them an email. A user can enter part of the name of the person he/wants to send the email to. Then I use the ypcat command to identify the UID of that person. The problem I'm having, is building in an error trap... (1 Reply)
Discussion started by: Glyn_Mo
1 Replies

7. UNIX for Dummies Questions & Answers

Checking return value of commands in pipe

Hi, I am wondering how I can check the return value of all commands in a pipe such as gzip -dc file.gz | sort -u > output.txt If I run this sequence in bash and check $?, I get the return status from sort. But I want to know if the initial gzip failed. Similarly for longer pipe chains,... (6 Replies)
Discussion started by: btherl
6 Replies

8. Shell Programming and Scripting

checking for return status between multiple commands

i have to run set of commands command1 command2 command3 command4 Now Whenever any of these command fails i should quit while capturing error message. Is there a better way then checking for $? after each command. (1 Reply)
Discussion started by: vickylife
1 Replies

9. UNIX for Dummies Questions & Answers

find results

Hi, how can I get only useful results from find / -size 10000000 without the "Permissions denied" files ? tks C (5 Replies)
Discussion started by: Carmen123
5 Replies

10. UNIX for Dummies Questions & Answers

return codes from rsh commands...

I have a Korn shell script that executes a number of commands on a remote server. Is it possible to feed in the last exit code of the rsh commands (i.e. something like $?) to a variable within the local shell script? I tried the following: returncode=$(rsh spns31 ".... (1 Reply)
Discussion started by: bbouch
1 Replies
Login or Register to Ask a Question