should work (NB. It allows for the arguments to be in a different order in the file).
There are other options that involve parsing the line (either in awk or shell), like:
SIZE=0
grep sizelimit myfile | while read s
do
set -- $s
while [ $# -gt 0 ]
do
case $1 in
-sizelimit) SIZE=$2; break;;
*) shift;;
esac
done
done
No probs, and yes - the line can change just so long as -sizelimit is followed by its value.
What it actually does is chops everything from the start of the line up to and including the word sizelimit and the space after, and then takes the first word from the remainder (which is the value of sizelimit).