[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Bash globbing files only?



Daniel Qarras <dqarras yahoo com> wrote:

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.
> > I don't think that it can be done with bash, but if you don't mind
> switching to zsh -- another extended version of the Bourne shell --
> it does become trivial:
> > ~% ls *(.) # list only plain files
>     ~% ls *(/)  # list only directories
>     ~% ls *(*)  # list only executable files
Yes, I am painfully aware of the power of zsh  :)  But in this case I
need to do my script with bash and it seems that although globbing for
directories is trivial ( */ ) there is no similar pattern to match
files. Oh, well, I guess I'll need to waste some CPU cycles and launch
find everytime I need to know file names in the current directory.

Thanks.
How about:

ls -dF ./.[^.]*/ ./*/
./.gconf//   ./.gnome2//          ./.kde//  ./.vnc//
./.gconfd//  ./.gnome2_private//  ./mail//

The extra trailing slash is a little untidy but this shouldn't be too hard to deal with in a shell script. Without the globbing the directory looks like:

ls -aF
./ .gnome2/ .tcshrc .xauthipFozN .xauthPzlpUy ../ .gnome2_private/ tuneSkge.sh* .xauthIS8EHj .xauthqjlydy .addressbook install.log .vnc/ .xauthk767SX .xauthS6Fe7J .addressbook.lu install.log.syslog .xauth3cMVlS .xauthKGKdHN .xauthVVWsxU anaconda-ks.cfg .kde/ .xauth63RXVT .xauthKTeKNJ .xauthxDbAPA .bash_history .lesshst .xauth94YA7P .xauthM83ZuG .xauthydqF9q .bash_logout local.mod .xautha7i7Cq .xauthmNPIZ6 .xauthYh5g1e .bash_profile local.te .xauthAMVrYt .xauthmoSEQs .xauthYVZ3d9 .bashrc mail/ .xauthBPKmdK .xauthnGzy76 .xauthz1gsvS .cshrc .pinerc .xauthdcbhGf .xauthoe3Llk .xauthZpCinp .gconf/ .recently-used.xbel .xauthf90gtu .xauthOhkaXl .xauthZpuD2k
.gconfd/         scsrun.log           .xauthGuEyXV  .xauthpGDShA


Cheers,
Dave

--
Politics, n. Strife of interests masquerading as a contest of principles.
-- Ambrose Bierce


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]