Extraire un mot après un mot spécifique sur la même ligne
Comment puis-je extraire un mot qui vient après un mot spécifique à Linux (csh)?
Plus précisément, j'ai un fichier qui a une seule ligne qui ressemble à ceci:
[some useless data] --pe_cnt 100 --rd_cnt 1000 [some more data]
Je veux extraire le nombre 100
ce qui est après le --pe_cnt
mot.
Je ne peux pas utiliser sed comme qui ne fonctionne que si vous voulez extraire une ligne entière. Peut-être que je peux utiliser awk?
Aussi, j'ai plusieurs fichiers qui ont des valeurs différentes au lieu de 100
donc j'ai besoin de quelque chose qui extrait la valeur mais ne dépend pas de la valeur.
source d'informationauteur Rahul
Vous devez vous connecter pour publier un commentaire.
Avec
awk
:Fondamentalement une boucle sur chaque mot de la ligne. Lorsque vous trouvez le premier que vous cherchez, prenez la prochaine word et l'imprimer.
Avec
grep
:Vous pouvez utiliser sed. Il suffit de faire un groupe de voulez-vous souhaitez ajuster et remplacer l'ensemble de la ligne avec le groupe:
Si il y a un seul caractère espace entre
--pe_cnt
et100
vous pouvez être en mesure d'utiliser d'anticipation et les assertions arrières