how to recursive search of subdiretories in BASH script

Reply

Join Date: May 2004
Posts: 1
Reputation: botherguy is an unknown quantity at this point 
Solved Threads: 0
botherguy botherguy is offline Offline
Newbie Poster

how to recursive search of subdiretories in BASH script

 
0
  #1
May 18th, 2004
can anyone modify my code to make it recursive search of subdiretories, currently this code only can search of particular directory.


#!/bin/bash
if test $# -eq 0 ; then
echo usage: "${0##/*} [Dir name]"
exit
fi
for arg in $* ; do
if test -e $arg ; then
maxLen=0 # <= !
files=$(ls $arg) # <=
for file in $files ; do
newLen=${#file}
if [ $newLen -gt $maxLen ] ; then
maxLen=$newLen
fileName=$file
fi
done
echo "[ Direcroty ] : $arg"
echo "[ File name ] : $fileName"
echo "[ Max length ] : $maxLen"
else
echo Cannot find $arg
fi
done
#End


botherguy
Reply With Quote Quick reply to this message  
Join Date: Apr 2004
Posts: 113
Reputation: liliafan is on a distinguished road 
Solved Threads: 2
liliafan's Avatar
liliafan liliafan is offline Offline
Junior Poster

Re: how to recursive search of subdiretories in BASH script

 
0
  #2
Jul 12th, 2004
Hi there

Perhaps this thread may give you pointers on what you are trying to do, it includes code examples for a similar question a few weeks ago:
Thread on bash searching

From what you have shown wouldn't the find command be more appropriate for you though?

ie:

Shell Scripting Syntax (Toggle Plain Text)
  1. find . -name filename -print

That will recurusivly (sp?) search through directories finding all occurances of the file called filename.

HTH

Ben
Application development, webhosting, and much more: www.webcentric-hosting.com
Reply With Quote Quick reply to this message  
Join Date: Jul 2004
Posts: 15
Reputation: tccummings is an unknown quantity at this point 
Solved Threads: 0
tccummings tccummings is offline Offline
Newbie Poster

Re: how to recursive search of subdiretories in BASH script

 
0
  #3
Jul 18th, 2004
I just had to creat a script that would recursively list files that woould equal or exceed X number of bytes with 2 arguments: the first one woould be where to start looking and the second the size to equal or exceed. For example ./test.sh /etc 5000

This is the code I used:

#!/bin/bash
#validate there are 2 arguments passed
#validate argument 1 exists and display an error if it does not
#validate argument 2 is a number and display error if not
directory=$1
size=$2
find $1 -size +$2c
if test -d $1; then directory=$1; else echo "Directory invalid"
fi
if test $size -ge 0; then size=$2; else echo "Specify a file size"
fi
:mrgreen:Tim Cummings
Reply With Quote Quick reply to this message  
Join Date: Oct 2009
Posts: 1
Reputation: ramkmaddela is an unknown quantity at this point 
Solved Threads: 0
ramkmaddela ramkmaddela is offline Offline
Newbie Poster

recursive list of files in a given directory with length > 30

 
0
  #4
20 Days Ago
#!/bin/bash
if test $# -eq 0 ; then
echo usage: "${0##/*} [Dir name]"
exit
fi
echo 'Search in directory $* for the flienames with length > 30'
for arg in $* ; do
if test -e $arg ; then
maxLen=30 # <= !
files=$(ls -lR $arg | grep '[^d]' | awk '{print $9}') # <=
for file in $files ; do
newLen=${#file}
#newLen=`expr length $file`
#echo "Length of the $file : $newLen"
if [ $newLen -ge $maxLen ] ; then
#maxLen=$newLen
fileName=$file
#echo $fileName
rootdir=$arg
echo `find $rootdir -name $fileName`
echo $dir
fi
done
else
echo Cannot find $arg
fi
done
#End



Originally Posted by botherguy View Post
can anyone modify my code to make it recursive search of subdiretories, currently this code only can search of particular directory.


#!/bin/bash
if test $# -eq 0 ; then
echo usage: "${0##/*} [Dir name]"
exit
fi
for arg in $* ; do
if test -e $arg ; then
maxLen=0 # <= !
files=$(ls $arg) # <=
for file in $files ; do
newLen=${#file}
if [ $newLen -gt $maxLen ] ; then
maxLen=$newLen
fileName=$file
fi
done
echo "[ Direcroty ] : $arg"
echo "[ File name ] : $fileName"
echo "[ Max length ] : $maxLen"
else
echo Cannot find $arg
fi
done
#End


botherguy
Reply With Quote Quick reply to this message  
Reply

Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC