zsh-users
 help / color / mirror / code / Atom feed
* 'for' sorted?
@ 2022-09-22 15:19 Ray Andrews
  2022-09-22 15:26 ` Jérémie Roquet
  0 siblings, 1 reply; 7+ messages in thread
From: Ray Andrews @ 2022-09-22 15:19 UTC (permalink / raw)
  To: Zsh Users

     for var in /dev/sd*; do
     ...

Apart from capturing the output and then sorting it, is is possible for 
'for' to go thru the input in a sorted way?  I doubt it but she moves in 
mysterious ways so it might just be doable.



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

* Re: 'for' sorted?
  2022-09-22 15:19 'for' sorted? Ray Andrews
@ 2022-09-22 15:26 ` Jérémie Roquet
  2022-09-22 15:54   ` Ray Andrews
  0 siblings, 1 reply; 7+ messages in thread
From: Jérémie Roquet @ 2022-09-22 15:26 UTC (permalink / raw)
  To: Ray Andrews; +Cc: Zsh Users

Hi,

Le jeu. 22 sept. 2022 à 17:20, Ray Andrews <rayandrews@eastlink.ca> a écrit :
>      for var in /dev/sd*; do
>      ...
>
> Apart from capturing the output and then sorting it, is is possible for
> 'for' to go thru the input in a sorted way?  I doubt it but she moves in
> mysterious ways so it might just be doable.

Lexical order:

  for var in /dev/sd*(on); do

To see the available sort specifiers, use:

    for var in /dev/sd*(o<tab>

Best regards,

-- 
Jérémie


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

* Re: 'for' sorted?
  2022-09-22 15:26 ` Jérémie Roquet
@ 2022-09-22 15:54   ` Ray Andrews
  2022-09-22 16:12     ` Mikael Magnusson
  2022-09-22 16:17     ` Andreas Kusalananda Kähäri
  0 siblings, 2 replies; 7+ messages in thread
From: Ray Andrews @ 2022-09-22 15:54 UTC (permalink / raw)
  To: zsh-users

On 2022-09-22 08:26, Jérémie Roquet wrote:
>
> Lexical order:
>
>    for var in /dev/sd*(on); do
>
> To see the available sort specifiers, use:
>
>      for var in /dev/sd*(o<tab>
>
> Best regards,
>
Bloody marvelous, <tab> there to give you your options, I had no idea 
there was any such thing.

    9 /aWorking/Zsh/Source/Wk 1 $ for aa in /dev/sda*(on); do echo $aa; done
    /dev/sda
    /dev/sda1
    /dev/sda10
    /dev/sda11
    /dev/sda12
    /dev/sda13
    /dev/sda2
    /dev/sda3
    /dev/sda4
    /dev/sda5
    /dev/sda6
    /dev/sda7
    /dev/sda8
    /dev/sda9

Now, what would be idyllic is to be able to have version sort so that 
the output is this:

    /dev/sda
    /dev/sda1
    /dev/sda2
    /dev/sda3
    /dev/sda4
    /dev/sda5
    /dev/sda6
    /dev/sda7
    /dev/sda8
    /dev/sda9
    /dev/sda10
    /dev/sda11
    /dev/sda12
    /dev/sda13


Thanks Jérémie


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

* Re: 'for' sorted?
  2022-09-22 15:54   ` Ray Andrews
@ 2022-09-22 16:12     ` Mikael Magnusson
  2022-09-22 16:25       ` Ray Andrews
  2022-09-22 16:17     ` Andreas Kusalananda Kähäri
  1 sibling, 1 reply; 7+ messages in thread
From: Mikael Magnusson @ 2022-09-22 16:12 UTC (permalink / raw)
  To: Ray Andrews; +Cc: zsh-users

On 9/22/22, Ray Andrews <rayandrews@eastlink.ca> wrote:
> On 2022-09-22 08:26, Jérémie Roquet wrote:
>>
>> Lexical order:
>>
>>    for var in /dev/sd*(on); do
>>
>> To see the available sort specifiers, use:
>>
>>      for var in /dev/sd*(o<tab>
>>
>> Best regards,
>>
> Bloody marvelous, <tab> there to give you your options, I had no idea
> there was any such thing.
>
>     9 /aWorking/Zsh/Source/Wk 1 $ for aa in /dev/sda*(on); do echo $aa;
> done
>     /dev/sda
>     /dev/sda1
>     /dev/sda10
>     /dev/sda11
>     /dev/sda12
>     /dev/sda13
>     /dev/sda2
>     /dev/sda3
>     /dev/sda4
>     /dev/sda5
>     /dev/sda6
>     /dev/sda7
>     /dev/sda8
>     /dev/sda9
>
> Now, what would be idyllic is to be able to have version sort so that
> the output is this:
>
>     /dev/sda
>     /dev/sda1
>     /dev/sda2
>     /dev/sda3
>     /dev/sda4
>     /dev/sda5
>     /dev/sda6
>     /dev/sda7
>     /dev/sda8
>     /dev/sda9
>     /dev/sda10
>     /dev/sda11
>     /dev/sda12
>     /dev/sda13

You can use the n glob qualifier for this. (distinct from the n option
to the o glob qualifier). eg, *(non)

-- 
Mikael Magnusson


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

* Re: 'for' sorted?
  2022-09-22 15:54   ` Ray Andrews
  2022-09-22 16:12     ` Mikael Magnusson
@ 2022-09-22 16:17     ` Andreas Kusalananda Kähäri
  2022-09-22 16:30       ` Ray Andrews
  1 sibling, 1 reply; 7+ messages in thread
From: Andreas Kusalananda Kähäri @ 2022-09-22 16:17 UTC (permalink / raw)
  To: Ray Andrews; +Cc: zsh-users

On Thu, Sep 22, 2022 at 08:54:58AM -0700, Ray Andrews wrote:
> On 2022-09-22 08:26, Jérémie Roquet wrote:
> >
> > Lexical order:
> >
> >    for var in /dev/sd*(on); do
> >
> > To see the available sort specifiers, use:
> >
> >      for var in /dev/sd*(o<tab>
> >
> > Best regards,
> >
> Bloody marvelous, <tab> there to give you your options, I had no idea 
> there was any such thing.
> 
>     9 /aWorking/Zsh/Source/Wk 1 $ for aa in /dev/sda*(on); do echo $aa; done
>     /dev/sda
>     /dev/sda1
>     /dev/sda10
>     /dev/sda11
>     /dev/sda12
>     /dev/sda13
>     /dev/sda2
>     /dev/sda3
>     /dev/sda4
>     /dev/sda5
>     /dev/sda6
>     /dev/sda7
>     /dev/sda8
>     /dev/sda9
> 
> Now, what would be idyllic is to be able to have version sort so that 
> the output is this:
> 
>     /dev/sda
>     /dev/sda1
>     /dev/sda2
>     /dev/sda3
>     /dev/sda4
>     /dev/sda5
>     /dev/sda6
>     /dev/sda7
>     /dev/sda8
>     /dev/sda9
>     /dev/sda10
>     /dev/sda11
>     /dev/sda12
>     /dev/sda13
> 
> 
> Thanks Jérémie

The number at the end of device files are not version numbers.

To get them in numerical order instead of the default lexicographical
order, use (n) as the globbing qualifier, or set the NUMERIC_GLOB_SORT
shell option.

	print -l /dev/sda*(n)

or,

	setopt NUMERIC_GLOB_SORT
	print -l /dev/sda*


-- 
Andreas (Kusalananda) Kähäri
SciLifeLab, NBIS, ICM
Uppsala University, Sweden

.


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

* Re: 'for' sorted?
  2022-09-22 16:12     ` Mikael Magnusson
@ 2022-09-22 16:25       ` Ray Andrews
  0 siblings, 0 replies; 7+ messages in thread
From: Ray Andrews @ 2022-09-22 16:25 UTC (permalink / raw)
  To: zsh-users

On 2022-09-22 09:12, Mikael Magnusson wrote:
>
> You can use the n glob qualifier for this. (distinct from the n option
> to the o glob qualifier). eg, *(non)
>
Perfect!  You know, it amazes me that there is enough semantic real 
estate for zsh to be able to accept such a fine level of control without 
ambiguities.   I'd like to dive into it, but it would take a hundred 
hours of instruction to get me up to speed.



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

* Re: 'for' sorted?
  2022-09-22 16:17     ` Andreas Kusalananda Kähäri
@ 2022-09-22 16:30       ` Ray Andrews
  0 siblings, 0 replies; 7+ messages in thread
From: Ray Andrews @ 2022-09-22 16:30 UTC (permalink / raw)
  To: zsh-users

On 2022-09-22 09:17, Andreas Kusalananda Kähäri wrote:
>
> The number at the end of device files are not version numbers.

Obviously!  But version sort gives the kind of order I'm looking for.
>
>
> 	print -l /dev/sda*(n)
>
> or,
>
> 	setopt NUMERIC_GLOB_SORT
> 	print -l /dev/sda*
>
>
Thanks, that seems just as effective.



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

end of thread, other threads:[~2022-09-22 16:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-22 15:19 'for' sorted? Ray Andrews
2022-09-22 15:26 ` Jérémie Roquet
2022-09-22 15:54   ` Ray Andrews
2022-09-22 16:12     ` Mikael Magnusson
2022-09-22 16:25       ` Ray Andrews
2022-09-22 16:17     ` Andreas Kusalananda Kähäri
2022-09-22 16:30       ` Ray Andrews

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).