Я пытаюсь написать bash-скрипт, который принимает несколько переменных, а затем выполняет поиск / замену с заданным поиском файлов, используя grep, чтобы получить список файлов, содержащих строку. Я думаю, что проблема, с которой я сталкиваюсь, заключается в том, чтобы переменные были видны в sed. Я не уверен, что еще это может быть.
if [ "$searchFiles" != "" -a "$oldString" != "" -a "$newString" != "" ]; then
echo -en "Searching for '$searchFiles' and replacing '$oldString' with '$newString'.\n"
for i in `grep $oldString $searchFiles |cut -d: -f1|uniq`; do
sed -i 's/${oldString}/${newString}/g' $i;
done
echo -en "Done.\n"
else
usage
fi