Sorting a device list

Peter Steele psteele at maxiscale.com
Sun Nov 29 18:47:31 UTC 2009


I ended up using

ls /dev/ad*|sort -g -k1.8

Not quite as generic as I wanted but it works...

From: Oliver Mahmoudi [mailto:olivermahmoudi at gmail.com]
Sent: Sunday, November 29, 2009 10:36 AM
To: Peter Steele
Cc: freebsd-questions at freebsd.org
Subject: Re: Sorting a device list

you can try to delete the /dev/ad10 entry with sed and then just append it to the end manually using the
printf(1) utility like so:

# ls /dev/ad* | sed s/"\/dev\/ad10"// | grep "/dev/ad" && printf "/dev/ad10\n"

Does that help?

Oliver




On Sun, Nov 29, 2009 at 6:56 AM, Peter Steele <psteele at maxiscale.com<mailto:psteele at maxiscale.com>> wrote:
I had tried that. It doesn't work:

# ls -d1 /dev/ad* | sort -n
/dev/ad10
/dev/ad4
/dev/ad6
/dev/ad8
I want the ad10 to appear last...

-----Original Message-----
From: Giorgos Keramidas [mailto:keramida at ceid.upatras.gr<mailto:keramida at ceid.upatras.gr>]
Sent: Saturday, November 28, 2009 4:31 PM
To: Peter Steele
Cc: freebsd-questions at freebsd.org<mailto:freebsd-questions at freebsd.org>
Subject: Re: Sorting a device list

On Sat, 28 Nov 2009 11:48:18 -0600, Peter Steele <psteele at maxiscale.com<mailto:psteele at maxiscale.com>> wrote:
> Can anyone recommend a quick and dirty way to sort a device list? For example, if I do this:
>
> ls /dev/ad* | sort
>
> I get something like this:
>
> /dev/ad10
> /dev/ad4
> /dev/ad6
> /dev/ad8

Just use `sort -n':

   ls -d1 /dev/ad* | sort -n

It should work fine even when there are non-numeric prefix strings.


_______________________________________________
freebsd-questions at freebsd.org<mailto:freebsd-questions at freebsd.org> mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org<mailto:freebsd-questions-unsubscribe at freebsd.org>"



More information about the freebsd-questions mailing list