In Bash
könnten Sie verwenden Pattern substitution
:
while IFS= read -r filename; do echo $ done < list-of-files-to-compare.txt
Wenn Sie generischer sein möchten, können Sie zuerst eine Erweiterung mit cut
und rev
so erhalten:
$ ext=$(echo public/assets/images/logos/logo.svg | rev | cut -d. -f1 | rev) $ echo $ext svg
Und dann ersetzen Sie es mit sed
:
$ echo public/assets/images/logos/logo.svg | sed "s,\.$\$,-orig.$," public/assets/images/logos/logo-orig.svg
Es wäre einfacher, wenn du .orig
den Dateinamen anhängen logo.svg
würdest logo.svg.orig
.