{i%l} already exists
else
mv $i ${i%l}
fi
done
Substitution
Another kind of variable mangling ... off of the output. Note that basename and dirname don't verify that these parameters are valid filename... equently in shell programming because most shells don't have any built-in string handling functions -- ... and bash -- and I find it easier to read (since I don't have to squint at me screen wondering which dir