zsh-users
 help / color / mirror / code / Atom feed
* Sorting files by their extension
@ 2006-08-14 21:40 Jean-Rene David
  2006-08-14 22:24 ` Mikael Magnusson
  2006-08-15  3:02 ` Bart Schaefer
  0 siblings, 2 replies; 4+ messages in thread
From: Jean-Rene David @ 2006-08-14 21:40 UTC (permalink / raw)
  To: zsh-users

Has anyone got a ready-made way to do this?

% print -l *
bar.a
bar.b
foo.a
foo.b

% print -l *(o<insert special qualifier here>)
bar.a
foo.a
bar.b
foo.b

It looks like tricky business to me, but perhaps
someone already thought this through.

-- 
JR


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Sorting files by their extension
  2006-08-14 21:40 Sorting files by their extension Jean-Rene David
@ 2006-08-14 22:24 ` Mikael Magnusson
  2006-08-15  3:02 ` Bart Schaefer
  1 sibling, 0 replies; 4+ messages in thread
From: Mikael Magnusson @ 2006-08-14 22:24 UTC (permalink / raw)
  To: zsh-users

On 8/14/06, Jean-Rene David <jrdavid@magma.ca> wrote:
> Has anyone got a ready-made way to do this?
>
> % print -l *
> bar.a
> bar.b
> foo.a
> foo.b
>
> % print -l *(o<insert special qualifier here>)
> bar.a
> foo.a
> bar.b
> foo.b
>
> It looks like tricky business to me, but perhaps
> someone already thought this through.

I don't exactly know the answer to your question, but in the meantime
maybe `ls -X` can help.

-- 
Mikael Magnusson


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Sorting files by their extension
  2006-08-14 21:40 Sorting files by their extension Jean-Rene David
  2006-08-14 22:24 ` Mikael Magnusson
@ 2006-08-15  3:02 ` Bart Schaefer
  2006-08-15  9:36   ` Peter Stephenson
  1 sibling, 1 reply; 4+ messages in thread
From: Bart Schaefer @ 2006-08-15  3:02 UTC (permalink / raw)
  To: zsh-users

On Aug 14,  5:40pm, Jean-Rene David wrote:
} Subject: Sorting files by their extension
}
} Has anyone got a ready-made way to do this?

It's pretty much impossible to do as a glob qualifier, because sorting is
the very last thing to happen, after all the other qualifiers are done.
You can play games if you don't need the actual file name, or by first
assigning to an array variable and then manipulating the array, but with
only filename generation you're out of luck.

  x=( *(e%'reply=( $REPLY:e/$REPLY )'%) )
  print -l $x:t

Aside to PWS:  It appears that as a side-effect of the *(+func) syntax,
it is no longer possible to use "+" as the delimiter in *(e+'stmt'+).
This should at least be documented.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Sorting files by their extension
  2006-08-15  3:02 ` Bart Schaefer
@ 2006-08-15  9:36   ` Peter Stephenson
  0 siblings, 0 replies; 4+ messages in thread
From: Peter Stephenson @ 2006-08-15  9:36 UTC (permalink / raw)
  To: zsh-users

Bart Schaefer wrote:
> Aside to PWS:  It appears that as a side-effect of the *(+func) syntax,
> it is no longer possible to use "+" as the delimiter in *(e+'stmt'+).
> This should at least be documented.

Are you sure?  It's parsed left to right and it's supposed to look for
the delimiters for the "e" before even thinking about the next
qualifier---given that pretty much anything can occur in the middle
that's about the only way it could work.  I can do this:

% echo g*
glob.c glob.epro glob.o glob.pro glob.syms

% echo g*(e:'reply=(${REPLY[2,-1]}${REPLY[1]}ay)':)
lob.cgay lob.eprogay lob.ogay lob.progay lob.symsgay
% echo g*(e+'reply=(${REPLY[2,-1]}${REPLY[1]}ay)'+)
lob.cgay lob.eprogay lob.ogay lob.progay lob.symsgay

% trangefysay() { reply=(${REPLY[2,-1]}${REPLY[1]}ay) }
% echo g*(e+'trangefysay'+)
lob.cgay lob.eprogay lob.ogay lob.progay lob.symsgay
% echo g*(+trangefysay)
lob.cgay lob.eprogay lob.ogay lob.progay lob.symsgay

-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070


To access the latest news from CSR copy this link into a web browser:  http://www.csr.com/email_sig.php


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-08-15  9:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-08-14 21:40 Sorting files by their extension Jean-Rene David
2006-08-14 22:24 ` Mikael Magnusson
2006-08-15  3:02 ` Bart Schaefer
2006-08-15  9:36   ` Peter Stephenson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).