I want alternative of -maxdepth 1 for all Linux,Solaris and AIX


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers I want alternative of -maxdepth 1 for all Linux,Solaris and AIX
# 1  
I want alternative of -maxdepth 1 for all Linux,Solaris and AIX

Code:
find /full/path/dir \( ! -name dir -o -type f \) -prune -type f

on AIX it worked perfect :

Code:
sdp1:/var/tmp/test# find /var/tmp/test/ \( ! -name test -o -type f \) -prune \
  -name "*properties" -type f -exec ls -l {} \; -exec cksum {} \;

-rw-------    1 root     system           19 Dec 12 02:03 /var/tmp/test/1.properties
3921676744 19 /var/tmp/test/1.properties
-rw-------    1 root     system           22 Dec 12 02:04 /var/tmp/test/2.properties
2544875996 22 /var/tmp/test/2.properties


but on LINUX it does not
Code:
[root@omu-au213 /var/tmp/test]# find /var/tmp/test/ \( ! -name test -o -type f \) -prune \
  -name "*properties" -type f -exec ls -l {} \; -exec cksum {} \;
[root@omu-au213 /var/tmp/test]#


it asks to use -wholename option but that does not work on AIX !!



i tried
Code:
cd /var/tmp/test/ && find . \(  -name . -o -prune \) -name "*properties" -type f \
  -exec ls -l {} \; -exec cksum {} \;

it works on all but it does not gives fuul qualified path name (/var/tmp/test/2.properties) of a file see below :

Code:
 -rw-------    1 root     system           19 Dec 12 02:03 ./1.properties
3921676744 19 ./1.properties
-rw-------    1 root     system           22 Dec 12 02:04 ./2.properties
2544875996 22 ./2.properties



i want a generic alternative of -maxdepth 1 for all linux,solaris and AIX. please help!!

Last edited by Scott; 12-16-2012 at 07:56 AM.. Reason: Please use code tags; Added \ line breaks to make code more readable
# 2  
You can introduce a variable and just sed the result like :
Code:
DIR=/var/tmp/test
cd $DIR && find .  \(  -name . -o -prune \) -name "*properties" -type f -exec ls -l {} \; -exec cksum {} \; | sed "s#./#$DIR/#"

This User Gave Thanks to Peasant For This Post:
# 3  
Your command line worked on my Linux, with find version 4.4.2.
# 4  
Quote:
Originally Posted by Peasant
You can introduce a variable and just sed the result like :
Code:
DIR=/var/tmp/test
cd $DIR && find .  \(  -name . -o -prune \) -name "*properties" -type f -exec ls -l {} \; -exec cksum {} \; | sed "s#./#$DIR/#"

Thank you so much Smilie!! it works on all OS!!
Any other way to do this without going to the path ( i mean without using cd $DIR )

---------- Post updated at 07:38 AM ---------- Previous update was at 07:29 AM ----------

Quote:
Originally Posted by binlib
Your command line worked on my Linux, with find version 4.4.2.
But command
Code:
/var/tmp/test# find /var/tmp/test/ \( ! -name test -o -type f \) -prune \
  -name "*properties" -type f -exec ls -l {} \; -exec cksum {} \;

is not working for on my machine Smilie

version details :
Code:
Linux version 2.6.18-274.7.1.el5  
gcc version 4.1.2 20080704 
(Red Hat 4.1.2-50))


Last edited by Franklin52; 12-18-2012 at 05:14 AM.. Reason: Code tags
# 5  
You can use the $PWD (print working directory) to eliminate the variable $DIR
Code:
find . \(  -name . -o -prune \) -name "*properties"  -exec ls -l {} \; -exec cksum {} \; | sed "s#./#$PWD/#"

This User Gave Thanks to Peasant For This Post:
# 6  
Quote:
Originally Posted by Peasant
You can use the $PWD (print working directory) to eliminate the variable $DIR
Code:
find . \(  -name . -o -prune \) -name "*properties"  -exec ls -l {} \; -exec cksum {} \; | sed "s#./#$PWD/#"

yes this is another way !! but actually my application runs find command only from /root path . for example if the properties files are in /var/tmp/test location still it will run the command from /root directory !!
that is why the above command wont work in my case as current directory is /root but i want to look for files in some other directory.

any other way to avoid cd $DIR ??

Thanks in advance !!
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Computers #945
Difficulty: Medium
A Fraggle attack is a variation of the Smurf attack where an attacker sends a large amount of UDP traffic to ports 7 (Echo) and 19 (CHARGEN) to an IP broadcast address with the intended victim's spoofed source IP address.
True or False?

6 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Maxdepth command not working in AIX.Need alternative solution for this command

Hi All, I am trying to select 30 days older files under current directory ,but not from subdirectory using below command. find <Dir> -type f -mtime + 30 This command selecting all the files from current directory and also from sub directory . I read some documention through internet ,... (1 Reply)
Discussion started by: kommineni
1 Replies

2. Solaris

Patch management (Solaris, AIX , Linux )

Hi Guys, I am doing L1 Level support for Solaris Platform. Eg. User Management, File system , Print management and Job monitoring. I recently completer my IBM Aix 7 Administration certification. Issue is that my manager is asking me do full time unix / linux patch management work for new... (5 Replies)
Discussion started by: Nats
5 Replies

3. AIX

maxdepth in avaible for AIX?

Hi, I'm trying to do a search in a directory on AIX and I was wondering if there's an equivelant option to the -maxdepth option to tell how far down to search. I ran this but I just want to make sure it's actually searching everything: find ./* -type f -name "090817*" -exec ls -l {} \; (1 Reply)
Discussion started by: bbbngowc
1 Replies

4. UNIX for Dummies Questions & Answers

Solaris find without maxdepth

Hi, I am using Solaris 5.8 I searched online, the find command has an option called maxdepth which can be used to limit the number of directories find will look into. find . -maxdepth 2 -type f When I run the above command in solaris, I get an error find: bad option -maxdepth find:... (2 Replies)
Discussion started by: Leion
2 Replies

5. AIX

AIX on an alternative system

My greeting to all the readers I have an AIX 5.3 version. I want to study this operation system. Unfortunately I donít have an IBM p Series system. Is there a way to install AIX on vmware or something similar? May be I have an old IBM Netfinity Server, will AIX run on this system? Thanks for... (5 Replies)
Discussion started by: analyzer
5 Replies

6. UNIX for Dummies Questions & Answers

Major differences between AIX, Solaris, HP-UX, Linux

Hi All, I want to know the OS level differences between AIX, Solaris, HP-UX, Linux Apart from the vendor, H/w and command differences, any other significant points. regards, guru Charan (9 Replies)
Discussion started by: gurukottur
9 Replies

Featured Tech Videos