On Wed, 30 Jul 2008 13:56:43 +0530
"Puneet Lakhina" <[EMAIL PROTECTED]> wrote:

> On Wed, Jul 30, 2008 at 12:45, Gora Mohanty <[EMAIL PROTECTED]> wrote:
> 
> > On Wed, 30 Jul 2008 12:32:13 +0530
> > "Puneet Lakhina" <[EMAIL PROTECTED]> wrote:
> >
> > > you could use the following script
> > > basedir=$1;
> > > find $basedir -type d|sed "s#$basedir##g" | awk -F'/' '{print NF-1 "\n"}'
> > |
> > > sort -n | tail -1;
> > >
> > > invoke this using
> > >  $>./script.sh <dir>
> >
> > [...]
> >
> > Try it with a directory named "My Documents".
> >
> 
> Yeah, sorry that wont work. Any workarounds? keeping in mind non
> availability of printf.
[...]

Sorry, this had slipped into my "Reply Later" buffer. In a shell
script, you have to quote any variable that might contain spaces.
Thus,
  basedir="$1"
  find "$basedir" | sed "s#$basedir##g" | awk -F'/' '{print NF}' | sort -n | 
tail -1

However, if one is using gawk, or a modern awk, one can get it to replace
sed (and, with some more work, probably sort, and tail also), viz.,
  find "$1" | gawk -vbasedir="$1" -F/ '{gsub(basedir, "", $0); print NF-1}' | 
sort -n | tail -1 

Regards,
Gora

_______________________________________________
ilugd mailinglist -- ilugd@lists.linux-delhi.org
http://frodo.hserus.net/mailman/listinfo/ilugd
Archives at: http://news.gmane.org/gmane.user-groups.linux.delhi 
http://www.mail-archive.com/ilugd@lists.linux-delhi.org/

Reply via email to