7
votes

Grep imprimer uniquement après le match

J'ai utilisé grep qui émet une liste comme celle-ci xxx

Cependant, je veux seulement donner le nom des joueurs tels que abc321 , EFG987 , etc ...


1 commentaires

Grep ne vous montre que les lignes contenant ce que vous avez trouvé. Habituellement, vous utiliseriez AWK / SED pour filtrer les choses afin que vous n'obtenez que les sous-parties de la ligne.


4 Réponses :


4
votes

Arrêtez d'utiliser Grep.

$ awk -F/ '$2 == "player" { print $3 }' input.txt
ABc12
ABC321
EGF987
egf751


0 commentaires

17
votes

commencer à utiliser grep : xxx

ou plus court: xxx

ou sans -P (pcre) option: xxx

ou avec pure bash : xxx


1 commentaires

Ajouté grep -op solution short :)



0
votes

Un moyen d'utiliser gnu grep et d'un looke à looké positif: xxx

résultats: xxx


0 commentaires

9
votes

@spuTnick a la bonne idée avec grep , et quelque chose comme ça serait ma solution préférée. Personnellement, j'ai immédiatement pensé à un lookéthind positif: xxx

mais le \ k fonctionne parfaitement aussi bien.

une alternative (un peu plus courte) La solution est avec sed : xxx


1 commentaires

L'expression sed a fonctionné mieux pour moi