Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jul 2010 08:59:54 +0800
From:      Aiza <aiza21@comclark.com>
To:        Anonymous <swell.k@gmail.com>
Cc:        "questions@freebsd.org" <questions@freebsd.org>
Subject:   Re: .sh  check for sufix g or m on size field
Message-ID:  <4C3BBA8A.3020305@comclark.com>
In-Reply-To: <867hl0ems5.fsf@gmail.com>
References:  <4C3B26B4.1000208@comclark.com> <867hl0ems5.fsf@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Anonymous wrote:
> Aiza <aiza21@comclark.com> writes:
> 
>> Have a .sh script that accepts an -s sparse file size.
>> Only 2 suffix's are valid m and g.
>>
>> Been trying to get this line of code to strip out just the single
>> letter. But it strips the letter and every thing to the right of it.
>>
>> Timagesize=`echo-n "${imagesize}" | sed 's/g.*$//'`
> 
> You didn't state what's your input. I guess smth like following will do
> 
>   strip() {
>       local size=
>       if printf >&- 2>&- %g ${size:=${1%[gm]}}; then
>           echo "it's a \`$size' without suffix"
>       else
>           echo "$1 has invalid suffix"
>       fi
>   }
> 
>   $ strip 17m
>   it's a `17' without suffix
>   $ strip 33g
>   it's a `33' without suffix
>   $ strip 25gm
>   25gm has invalid suffix
> 

This is real close but it allows a numeric value through as valid which 
is not a valid condition. The $size value has to be suffixed with g or m 
to be valid. A numeric value only or a numeric value suffixed with 
anything else than m or g is invalid.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C3BBA8A.3020305>