J'utilise les éléments suivants sed
commandement :
cat version | sed -e 's/[0-9][0-9][0-9][0-9][0-9:M]*-[abp]/Ver\n/'
Ce qui se normalise comme ça :
4330M-p -> Ver<newline>
Cela fonctionne très bien avec GNU SED, mais avec BSD SED sur Mac OS X, la fonction \n se transforme en un n
comme ça :
4330M-p -> Vern
Pour normaliser une sortie qui contient un numéro de version qui change dans le temps en une chaîne statique, suivie d'une nouvelle ligne. Ceci est utilisé dans le cadre d'un test où la sortie après l'exécution de sed
est comparé via diff
avec un fichier doré connu et nous ne voulons pas d'échecs dus au changement du numéro de version et nous avons besoin d'une nouvelle ligne ajoutée pour nos besoins.
Comment puis-je remplacer une chaîne de caractères qui ajoute une nouvelle ligne d'une manière qui fonctionne à la fois sur les versions GNU et BSD de l'application sed
ou dois-je simplement installer GNU sed
sur Mac OS X parce que cela ne peut pas être fait ?