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