for i in `cat rgu`
do
echo $i
sed -e '/LABEL=$i/,/fi/d' g_scripts > g_scripts2
cat g_scripts2 > g_scripts
done
$i in sed
use
sed "s/.../" filename
It's not only the $i in sed, your approach is wrong. You're deleting a section of g_scripts, redirect the output to g_scripts2 and overwrite g_scripts with g_scripts2.
Regards
The Part that I have said I think its right and Franklin52 you are right that OP's approach is dangerous unless the files are of small size.