Pročitaj prvo ovo:
http://www.gnu.org/software/ba...html#Shell-Parameter-Expansion
Citat:
${parameter%word}
${parameter%%word}
The word is expanded to produce a pattern just as in filename expansion. If the pattern matches a trailing portion of the expanded value of parameter, then the result of the expansion is the value of parameter with the shortest matching pattern (the ‘%’ case) or the longest matching pattern (the ‘%%’ case) deleted. If parameter is ‘@’ or ‘*’, the pattern removal operation is applied to each positional parameter in turn, and the expansion is the resultant list. If parameter is an array variable subscripted with ‘@’ or ‘*’, the pattern removal operation is applied to each member of the array in turn, and the expansion is the resultant list.
A evo i nekoliko primera koji će, nadam se, pomoći da razumeš:
f="abc.delete-me.txt"
echo ${f%*delete-me*}
abc.
# matchovan je i uklonjen samo trailing deo stringa
f="abc.delete-me.txt"
echo ${f%%*delete-me*}
# matchovan je i uklonjen ceo string
f="abc.delete-me.txt"
echo ${f%*delete-me}
abc.delete-me.txt
# nije matchovan trailing deo stringa
f="abc.delete-me.txt"
echo ${f%%*delete-me}
abc.delete-me.txt
# nije matchovan trailing deo stringa
echo ${f%%c.delete-me*}
ab