Bash globbing files only?
Rick Stevens
rstevens at vitalstream.com
Mon Jan 29 22:38:09 UTC 2007
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 at vitalstream.com -
- VitalStream, Inc. http://www.vitalstream.com -
- -
- Make it idiot proof and someone will make a better idiot. -
----------------------------------------------------------------------
More information about the fedora-list
mailing list