GNU/Linux >> Tutoriels Linux >  >> Linux

Trouver le dernier élément d'une ligne à l'aide de Grep ?

J'essaie de prendre le dernier mot ou la dernière phrase en utilisant grep pour un modèle spécifique. Dans cet exemple, ce serait de la dernière virgule à la fin de la ligne :

Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value

Et donc la sortie recherché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. Merci !

Réponse acceptée :

Ici :

grep -o '[^,]\+$'
  • [^,]\+ correspond à un ou plusieurs caractères qui ne sont pas , en fin de ligne ($ )

  • -o imprime uniquement la partie correspondante

Exemple :

% grep -o '[^,]\+$' <<<'Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value'
Great Value

Linux
  1. Comment redémarrer Linux en utilisant la ligne de commande

  2. Tri sur le dernier champ d'une ligne

  3. Recherche de fichiers exécutables à l'aide de ls et grep

  4. Comment définir la limite de longueur de ligne lors de l'utilisation de grep (Filtrer le résultat par longueur de ligne) ?

  5. Grep :compte le nombre de correspondances par ligne

Résoudre Wordle en utilisant la ligne de commande Linux

Comment effectuer une recherche de modèle dans les fichiers à l'aide de Grep

Manipuler du texte en ligne de commande avec grep

Tutoriel sur l'utilisation de la dernière commande dans le terminal Linux

Rechercher du texte dans des fichiers sous Linux à l'aide de grep

Utiliser un index pour accélérer grep ?