Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: 'for' sorted?



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

.




Messages sorted by: Reverse Date, Date, Thread, Author