J'ai le code suivant sed qui fonctionne dans RH6 et sed 4.2.1Code sed fonctionne en 4.2.1 mais pas 4.1.5
>> echo "SUSE Linux Enterprise Server 11 (x86_64) VERSION = 11 PATCHLEVEL = 2" | sed s/.*VERSION\ =\ //
11 PATCHLEVEL = 2
>> sed --version
GNU sed version 4.2.1
mais il échoue à SUSE 11 et sed 4.1.5
>> echo "SUSE Linux Enterprise Server 11 (x86_64) VERSION = 11 PATCHLEVEL = 2" | sed s/.*VERSION\ =\ //
sed: No match.
>> sed --version
GNU sed version 4.1.5
J'ai trouvé que le code suivant fonctionne différemment dans les deux versions. sed 4.1.5 dans SUSE ne correspond à rien.
echo ab | sed s/.*//
Est-ce un problème connu de sed? et a-t-il une solution?
Vous avez une réponse, mais je suis curieux de connaître votre symptôme: Avez-vous vraiment obtenu 'sed: No match.'? Cela ne ressemble pas à un message d'erreur Sed; était-ce peut-être 'bash: pas de correspondance: s /.* VERSION = //'? Vous obtiendriez cela si 'shopt -s failglob' se trouve être en vigueur, provenant de la tentative échouée de _shell_ de faire correspondre ce modèle avec les fichiers du répertoire actuel. (en raison d'être non cité). – mklement0