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

Mike Simons vox-tech@lists.lugod.org
Mon, 23 Jun 2003 13:56:52 -0400


--QRtLtq+kfJNLc57H
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Jun 23, 2003 at 10:54:58AM -0700, Richard Crawford wrote:
> Suppose I have a short script as such:
>=20
> find . -name 'wwwboard.html' -print | while read i
> do
>   print $i
> done
>=20
> how can I pass the name of the directory where $i lurks to another
> variable, such as $dir?

find . -name 'wwwboard.html' -print | sed 's/\/\([^\/]*\)$/ \1/' |=20
  while read dir file; do
    echo "file =3D $file, directory =3D $dir"
  done

Richard,

  The more complex you make things the more you should look into doing
this with perl.

  Also "print" is not a portable shell command... use "echo" instead
when writing shell scripts.

    Hope this helps,
      Mike Simons

--=20
GPG key: http://simons-clan.com/~msimons/gpg/msimons.asc
Fingerprint: 524D A726 77CB 62C9 4D56  8109 E10C 249F B7FA ACBE

--QRtLtq+kfJNLc57H
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE+9z9k4Qwkn7f6rL4RAqgeAJ9elL7Ixbcnebny85itvD9zd7TgGwCeOSHC
el5KKUFCQFyUDB0FfSlRnOg=
=0HrW
-----END PGP SIGNATURE-----

--QRtLtq+kfJNLc57H--