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@vitalstream.com - - VitalStream, Inc. http://www.vitalstream.com - - - - Make it idiot proof and someone will make a better idiot. - ----------------------------------------------------------------------