Bash - récupérer ligne d'un fichier

Résolu
remail49 Messages postés 37 Statut Membre -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je ne voie pas comment faire pour récupérer la ligne d'un fichier où il y a un mot donné en paramètre.
ex :
fichier.txt :
toto ne vas pas à l'école, bah c'est toto.
titi va à l'école car il est sérieux.

ex Bash : récupLigneOuIlYALeMot "toto" fichier.txt
> toto ne vas pas à l'école, bah c'est toto.

7 réponses

  1. swed
     
    Bonjour,

    Essaye "grep toto fichier.txt" ;
    Et pour avoir plus d'infos sur cette commande "man grep"

    Cordialement, M
    0
  2. remail49 Messages postés 37 Statut Membre
     
    J'ai essayé cette commande mais elle ne me retourne rien.
    Et j'ai déjà regardé le man de grep
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      Pas de guillemets
      grep toto fichier.txt 
      0
    2. Cam
       
      Oui mais grep ca retourne le nom du fichier et non pas la phrase dans laquelle se trouve le texte...
      0
    3. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Ben non ! Ça retourne bien la ligne : voir ici
      0
  3. remail49 Messages postés 37 Statut Membre
     
    Ok mais ça m'indique juste qu'il l'a trouvé dans le fichier.
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      Affiche ce que tu tapes et ce que tu vois sur l'écran.
      On n'est pas devant ton pc et on ne peux pas deviner.

      La commande est correcte, donc soit on n'a pas compris ce que tu veux soit tu n'as pas bien expliquer ce que tu veux.
      0
    2. remail49 Messages postés 37 Statut Membre
       
      Ba j'ai mis un exemple, je veux que ça me retourne :
      toto ne vas pas à l'école, bah c'est toto.
      La ligne, et non que le mot a été trouvé.
      Et enfaite si je fait
      grep toto fichier.txt > test.txt
      j'ai rien dans test.txt
      0
    3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      Affiche ici le contenu de ton fichier
      Donc tape la commande et affiche ici exactement ce que tu vois à l'écran
      cat fichier.txt
      0
    4. remail49 Messages postés 37 Statut Membre
       
      Je pense que ça ne fonctionne pas car fichier.txt est dans un dossier et lorsque j'essaie avec :
      grep -d dossier1/dossier2 -f fichier.txt toto

      Il ne trouve pas le dossier
      grep: unknown directories method
      0
    5. remail49 Messages postés 37 Statut Membre
       
      J'ai beau me placer dans le dossier où se trouve fichier.txt et mettre
      grep toto fichier.txt

      Dans le terminal, j'ai rien en retour. Je ne comprend pas.
      0
  4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    [jp@MDK-2010 tmpfs]$ cat plop
    toto ne vas pas à l'école, bah c'est toto.
    titi va à l'école car il est sérieux.
    
    [jp@MDK-2010 tmpfs]$ grep toto plop
    toto ne vas pas à l'école, bah c'est toto.
    
    [jp@MDK-2010 tmpfs]$ sed -n '/toto/p' plop
    toto ne vas pas à l'école, bah c'est toto.
    
    [jp@MDK-2010 tmpfs]$ awk '/toto/ { print $0 }' plop
    toto ne vas pas à l'école, bah c'est toto.
    
    [jp@MDK-2010 tmpfs]$

    :-)
    0
    1. remail49 Messages postés 37 Statut Membre
       
      J'ai essayé ce que tu proposes et pareil que pour le grep, je n'ai rien
      0
    2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Affiche-nous le contenu de ton fichier avec :

      cat -A fichier
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Non mais j'ai mis des exemples, je suis développeur, je fais au plus simple pour que l'on me comprenne
    Ben, je n'ai rien compris dans le mode simple

    Fait dans le mode normal et on se debrouillera mieux.

    Lorsque je suis dans le bon dossier et que je tape :

    grep "toto" fichier.txt
    ou

    grep toto fichier.txt
    ou

    cat fichier.txt | grep "toto"
    Le terminal n'affiche rien


    C'est puisque toto n'existe pas soit il est en majuscules.

    grep -i toto fichier.txt

    0
  7. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Je vais essayé de voir ce que je peut faire maintenant avec ce problème d'encodage

    Ben, fait un
    file ton_fichier 
    pour voir de quoi il s'agit
    0
    1. remail49 Messages postés 37 Statut Membre
       
      Mon fichier est un : Little-endian UTF-16 Unicode c program text
      0
  8. remail49 Messages postés 37 Statut Membre
     
    Bon j'ai trouvé merci pour vos réponse :
    iconv -f UTF-16 -t UTF-8 fichier.txt | grep toto
    0