J'ai un problème quand j'essaie d'extraire le premier mot après grep
correspond à mon model.
Laissez-moi vous montrer un exemple:
cat test.txt [profile dev] xxx xxx [profile prod] xxx xxx
maintenant je veux extraire le mot après «profil» et éventuellement l'affecter dans une variable
J'ai essayé avec grep
et awk
mais il semble que je ne puisse extraire que le mot
grep -oP '(?<=profile\s/)\w+' /test.txt
ne renvoie rien aussi avec awk
:
awk '/^profile / {print $1}' /text.txt
peut-être c'est à cause des parenthèses ou je ne sais pas, pouvez-vous m'aider avec une suggestion?
Votre patron Awk échoue parce que le mot "profil" ne démarre pas l'logging, [profile
fait …
awk '/^\[profile/ {gsub(/]/,""); print $2}' test.txt dev prod
Une autre approche serait de charger un tableau, en utilisant split
:
awk -F'[][]' '/profile/ {p=split($2,profiles," "); print profiles[2]}' test.txt dev prod