[vox-tech] Shell Scripting Question: Getting a directory name from a 'find' result

Mark K. Kim vox-tech@lists.lugod.org
Mon, 23 Jun 2003 11:23:00 -0700 (PDT)


Use `dirname`.  Example:

  find . -name 'wwwboard.html' -print | while read i
  do
     dir=3D`dirname $i`

     echo $dir
  done

The complementing command is `basename`.  `basename` also has some other
interesting features, such as stripping out the file extension.  See the
manpage.

-Mark


On Mon, 23 Jun 2003, Richard Crawford wrote:

> Suppose I have a short script as such:
>
> find . -name 'wwwboard.html' -print | while read i
> do
>   print $i
> done
>
> how can I pass the name of the directory where $i lurks to another
> variable, such as $dir?
>
>
>
> --
> Sliante,
> Richard S. Crawford
>
> http://www.mossroot.com
> AIM: Buffalo2K ICQ: 11646404 Y!: rscrawford
> MSN: underpope@hotmail.com
>
> "It is only with the heart that we see rightly; what is essential is
> invisible to the eye." --Antoine de Saint Exup=E9ry
>
>
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech
>

--=20
Mark K. Kim
http://www.cbreak.org/
PGP key available upon request.