Afficher ligne complète après grep et cut

Bonjour,



J'aimerai afficher toute la ligne de mon fichier texte après le commande : cat test.txt | cut -d, -f2 | grep Justin

(Mon fichier texte est sous la forme :
TEST,Jean,A,45877
AZERTY,Justin,B,45899
OUI,Non,C,47822)

En résultat je n'ai que le mot recherché Justin alors que j'aimerai avoir

AZERTY,Justin,B,25466 en gros toute la ligne de mon fichier texte et pas seulement le prenom.

Est-ce possible?

Merci d'avance,

4 réponses

  1. Salut,

    man grep me dit avec -w mais je n'ai pas tenu compte des pipes.

    ça devrais quand même donner quelque chose du style:

    grep -w Justin

    Sinon instinctivement j'aurais tenté grep -0 Justin mais ça paraît moins bon.
    0
    1. Contributeur
      Salut,

      $ cat fich 
      TEST,Jean,A,45877
      AZERTY,Justin,B,45899
      OUI,Non,C,47822

      $ grep 'Justin' fich
      AZERTY,Justin,B,45899


      Pour info, si au lieu de recopier des commandes bêtement sans savoir ce qu'elles font, tu les testais une par une, tu saurais que
      cut -d, -f2 fich
      renvoie uniquement le second champ !

      $ cut -d, -f2 fich 
      Jean
      Justin
      Non


      ☯ Zen my nuggets ☮
      Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot. <('')
      0
      1. hello
        simplement
        $ grep Justin test.txt
        AZERTY,Justin,B,45899
        0
        1. J'ai oublié de préciser que je ne veux faire les tests que sur le prenom. Donc même si je tape grep AZERTY test.txt, j'aimerai qu'il ne me renvoie rien.
          0
          1. Contributeur
            Alors il te faut changer d'outils et voir avec awk beaucoup plus adapter à ce que tu veux faire.
            0
          2. $ awk -F , -v p="Justin" '$2 ~ p' test.txt
            AZERTY,Justin,B,45899
            $ awk -F , -v p="AZERTY" '$2 ~ p' test.txt
            $
            0