если то, что вы хотите отредактировать, одинаково для всех файлов, то нет смысла использовать vi, чтобы сделать это вручную. (хотя на vi тоже можно писать скрипты), гипотетически это выглядит примерно так, так как вы никогда не упоминаете, что хотите редактировать
grep -rnI 'xg_icon-*' | while read FILE
do
sed -i.bak 's/old/new/g' $FILE # (or other editing commands, eg awk... )
done