Date: Tue, 24 Jan 2006 19:35:49 -0800 From: Luke Bakken <luke.bakken@gmail.com> To: Ensel Sharon <user@dhp.com> Cc: freebsd-questions@freebsd.org Subject: Re: shell scripting question (mdconfig device choosing) Message-ID: <6acc6ca40601241935h290738e1scee8af44dc144224@mail.gmail.com> In-Reply-To: <Pine.LNX.4.21.0601241748480.8684-100000@shell.dhp.com> References: <43D6A62B.80001@mac.com> <Pine.LNX.4.21.0601241748480.8684-100000@shell.dhp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> > Ensel Sharon wrote: > > > and I know how to use awk to strip away the leading "md" from each pi= ece > > > of the output ... but I do not know how to take output like: > > > > > > 8 9 11 14 > > > > > > and decide that the lowest available number is "0". How can I do thi= s ? > > > > % echo '9 8 11 14' | sort -nt ' ' | head -1 > > 8 > > > Yeah, but I am looking for "0" ... 8,9,11,14 are all in use ... but 0-7 > are not. I want to: > > "starting with zero, find the lowest number that is NOT in this list" > > (where "this list" is the output of mdconfig -l, which shows which md > devices are currently in use) Running mdconfig -l I don't get any output, however this works, it'll find the first unused number up to 25 in that list. echo '8 9 11 14' | perl -ane'@h{@F}=3D(1)x@F;for(0..25){if(not defined $h{$_}){print qq($_\n);exit}}' If you can give me the exact output of mdconfig -l, I can modify this for y= ou. Luke
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6acc6ca40601241935h290738e1scee8af44dc144224>