Sie können in Ihrem Skript einen wörtlichen Zeilenumbruch wie folgt erstellen:
cat version | sed -e 's/[0-9][0-9][0-9][0-9][0-9:M]*-[abp]/Ver\ /'
Ich verwende den folgenden sed
Befehl:
cat version | sed -e 's/[0-9][0-9][0-9][0-9][0-9:M]*-[abp]/Ver\n/'
Was normalisiert sich so:
4330M-p -> Ver<newline>
Das funktioniert gut mit GNU SED, aber mit BSD SED unter Mac OS X wird das \ n zu einem n
ähnlichen Beispiel:
4330M-p -> Vern
So normalisieren Sie eine Ausgabe, die eine Versionsnummer enthält, die sich im Laufe der Zeit in eine statische Zeichenfolge ändert, gefolgt von einem Zeilenvorschub. Dies wird im Rahmen von Tests verwendet, bei denen die Ausgabe nach der sed
Verarbeitung diff
mit einer bekannten Golden-Datei verglichen wird und wir keine Fehler aufgrund von Versionsnummernänderungen wünschen und für unsere Zwecke eine neue Zeile hinzufügen müssen.
Wie kann ich durch eine Zeichenfolge ersetzt werden, die einen Zeilenumbruch in einer Weise hinzufügt, die sowohl auf der GNU- als auch der BSD-Version von funktioniert sed
, oder sollte ich GNU einfach sed
unter Mac OS X installieren, da dies nicht möglich ist?
Sie können in Ihrem Skript einen wörtlichen Zeilenumbruch wie folgt erstellen:
cat version | sed -e 's/[0-9][0-9][0-9][0-9][0-9:M]*-[abp]/Ver\ /'