On Mon, 2007-01-29 at 12:14 -0800, Evan Klitzke wrote:
On Sun, 2007-01-28 at 12:12 -0800, Daniel Qarras wrote:
> Hi all,
>
> with Bash one can list directories (excluding dot dirs) like this:
>
> ls [^.]*/
>
> How can I list files instead of directories with Bash? I thought this
> would be trivial but I can't find a solution anywhere.
Daniel,
My knowledge of bash is very limited, but I believe that the -d
conditional checks if a file is a directory. So you could define a
function something like this (the syntax is probably all wrong, but
hopefully it is decipherable):
for file in `ls -1`; do
if ![ -d file]; then
printf "$file\n"
fi
end
Name the function something like "lsfiles" and you're good to go.
Uh, how about "find . -maxdepth 1 -type f -print" to list the files and
"find . -maxdepth 1 -type d -print" for directories? Take out the
"-maxdepth 1" and it'll walk the directory tree.
Nah, too prosaic!
----------------------------------------------------------------------
- Rick Stevens, Senior Systems Engineer rstevens(a)vitalstream.com -
- VitalStream, Inc.
http://www.vitalstream.com -
- -
- Make it idiot proof and someone will make a better idiot. -
----------------------------------------------------------------------