Disons que j’ai une ligne qui ressemble à ceci
Hello my first name is =Bart and my second is =Homer
Comment puis-je faire si je veux tout obtenir après le premier =
ou :
utiliser sed
?
Dans cet exemple, je voudrais obtenir le résultat
Bart and my second is =Homer
J’utilise sed 's/.*[=:]//'
ce moment mais j’obtiens Homer
comme résultat (tout ce qui suit le dernier =
ou sed 's/.*[=:]//'
et je voudrais tout obtenir après le premier, et pas le dernier =
ou :
Normalement, les quantificateurs dans sed
sont gourmands, ce qui explique pourquoi vous correspondez toujours au dernier =
. Ce qui définit le premier =
est que tous les caractères avant ne sont pas =
, donc:
sed 's/[^=]*=//'
Votre question implique que soit :
ou =
sont des marqueurs valides, auquel cas
sed 's/[^=:]*[=:]//'