J'essaie de prendre le dernier mot ou la dernière phrase en utilisant grep pour un motif spécifique. Dans cet exemple, il s'agirait de la dernière virgule à la fin de la ligne:
Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value
Et donc la sortie souhaitée pour cette ligne serait "Great Value". Toutes les lignes sont également de longueurs différentes, mais ont toujours une seule virgule précédant les derniers mots.
Fondamentalement, je voudrais simplement sortir de la dernière virgule à la fin de la ligne. Je vous remercie!
command-line
grep
flacon inversé
la source
la source
awk -F, '{print $NF}'
?grep
n'est pas l'outil pour ce travail.Réponses:
Ici:
[^,]\+
correspond à un ou plusieurs caractères qui ne sont pas,
à la fin de la ligne ($
)-o
imprime uniquement la partie correspondanteExemple:
la source
-Eo
et ensuite pas eu besoin d'échapper à la+
-E
permet l'ERE, c'est pourquoi.awk
J'aime toujours voir une solution, alors la voici (a voté pour la bonne solution!):la source