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

[Résolu/Fermé]
Signaler
Messages postés
36
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
20 août 2010
-
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
-
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

Bonjour,

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

Cordialement, M
Messages postés
36
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
20 août 2010

J'ai essayé cette commande mais elle ne me retourne rien.
Et j'ai déjà regardé le man de grep
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 560
Re,

Pas de guillemets
grep toto fichier.txt 
Oui mais grep ca retourne le nom du fichier et non pas la phrase dans laquelle se trouve le texte...
Messages postés
36324
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 420
Ben non ! Ça retourne bien la ligne : voir ici
Messages postés
36
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
20 août 2010

Ok mais ça m'indique juste qu'il l'a trouvé dans le fichier.
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 560
Re,

Affiche le résultat de
ls -l $HOME

Merci de ne pas mettre des commentaires, affiche seulement la commande que tu tapes et le résultat.
Messages postés
36
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
20 août 2010

drwx------+ 44 xx staff 1452 17 aoû 10:45 Desktop
drwx------+ 38 xx staff 1248 27 jul 11:19 Documents
drwx------+ 36 xx staff 1180 18 aoû 12:11 Downloads
drwx------+ 39 xx staff 1282 6 aoû 09:56 Library
drwx------+ 3 xx staff 264 3 mai 09:21 Movies
drwx------+ 4 xx staff 264 19 mai 09:26 Music
drwx------+ 85 xx staff 2846 12 aoû 18:30 Pictures
drwxr-xr-x+ 5 xx staff 264 3 mai 10:14 Public
drwxr-xr-x+ 8 xx staff 264 4 jui 09:48 Sites
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 560
Re,

Je ne vois pas un répertoire qui s'appelle dossier ou dossier1

Si ton fichier s'appelle fichier.txt alors on va le trouver avec find comme ça

find $HOME -name '*fichier.txt'

sinon mets entre * et le dernier apostrophe le nom de ton fichier
find $HOME -name '*le nom de ton fichier'
Messages postés
36
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
20 août 2010

Non mais j'ai mis des exemples, je suis développeur, je fais au plus simple pour que l'on me comprenne. Ca fait juste longtemps que je n'ai pas fait bash. Mais c'est pas une histoire de dossier ou de fichier.
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
Messages postés
36
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
20 août 2010

bon enfaite ça doit être un problème d'encodage.
Car pour tester j'ai créé un fichier txt et là ça a marché.
Merci lami20j
Je vais essayé de voir ce que je peut faire maintenant avec ce problème d'encodage
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 887
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]$

:-)
Messages postés
36
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
20 août 2010

J'ai essayé ce que tu proposes et pareil que pour le grep, je n'ai rien
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 887
Affiche-nous le contenu de ton fichier avec :

cat -A fichier
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 560
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

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 560
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
Messages postés
36
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
20 août 2010

Mon fichier est un : Little-endian UTF-16 Unicode c program text
Messages postés
36
Date d'inscription
mardi 30 octobre 2007
Statut
Membre
Dernière intervention
20 août 2010

Bon j'ai trouvé merci pour vos réponse :
iconv -f UTF-16 -t UTF-8 fichier.txt | grep toto