Bash-Skript mit sed mit Variablen in einer for-Schleife?

Ich versuche zu schreiben, ein bash-Skript, das dauert ein paar Variablen, und dann wird ein suchen/ersetzen mit einer bestimmten Datei Suche mit grep, um die Liste der Dateien, die die Zeichenfolge. Ich denke, das Problem, das ich habe, ist, dass die Variablen, die man in sed-ich bin mir nicht sicher, was es sein könnte.

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
  • Sie müssen doppelte Anführungszeichen für Variablen-substitution in bash-glaube ich - sed -i "s/${oldString}/${newString}/g" $i;
InformationsquelleAutor LF4 | 2011-08-11
Schreibe einen Kommentar