ls output

Don Levey lug-TwWeWiF2EGRi+ztankeudA at public.gmane.org
Mon Oct 20 14:30:47 EDT 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

What I'm trying to do seems like it should be simple, but I can't find
the solution.  I have a directory hierarchy; ideally what I want to do
is to get a full directory path listing for each file of a particular
type (in this case, *.xml).

My first try was the following:

	<FILEPATH>/*/*/*.xml

Where <FILEPATH> is my base directory; the XML files should all be three
layers below that in the hierarchy.  The problem is that when the number
of files grew the * expansion overran the available space on my command
line and I received the "argument list too long" error.

I know that "ls -R" can help, but here's the thing: I want the entire
pathname on the line.  The ls -R option gives me:

	/home/dlevey/:
	code/
	data/
	dataparse.sh
	debug/
	docs/
	doc-standards.txt
	images/

	/home/dlevey/code:
	ReadBundle.sh
	update-passwd.php

	/home/dlevey/data:
	bundle1.dat
	bundle2.dat

and the like.  What I want is:

	/home/dlevey/dataparse.sh
	/home/dlevey/doc-standards.txt
	/home/dlevey/code/ReadBundle.sh
	/home/dlevey/update-passwd.php
	/home/dlevey/data/bundle1.dat
	/home/dlevey/data/bundle2.dat

I would have expected some sort of command-line option to ls to at least
prepend the full path to the directory entry, but there doesn't seem to
be one.  Is there an "improved" ls that could do this, or is there a
shell trick that can handle it?  I can't believe I'm the only person to
ever need this.

TIA,
 -Don Levey
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFI/M5XiVR8AmYXiFARAg4YAKCBBxJwgLDV7+nVF49PrXtYGkOJwwCghnNp
6vBzePWoM349nUFnwJhzrZg=
=DBxG
-----END PGP SIGNATURE-----





More information about the Discuss mailing list