
Ich habe mehrere Dateien in einem Verzeichnis, die mit „StringtoReplace“ enden. Wie kann ich diesen Teil des Dateinamens für alle Dateien im Verzeichnis durch eine neue Zeichenfolge, „ReplacedString“, ersetzen?
Antwort1
Dadurch wird die erste Instanz von „StringtoReplace“ durch „ReplacedString“ ersetzt:
for f in *StringtoReplace; do [ -f "$f" ] && mv -- "$f" "${f/StringtoReplace/ReplacedString}"; done
Dies ersetzt diezuletztInstanz von „StringtoReplace“ mit „ReplacedString“:
for f in *StringtoReplace; do [ -f "$f" ] && mv -- "$f" "${f%StringtoReplace}ReplacedString"; done