logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 01-05-2012 22:21:38

maleksah
Membre
Distrib. : squeeze 6.0.4 AMD64
Noyau : 2.6.32-5-686
(G)UI : Gnome 2.30.2
Inscription : 29-01-2012

problème avec la commande GREP

bonsoir , voilà j'ai deux questions que j'arrive pas à résoudre.
1)calculer le nombre d'apparition de chaque mot d'un fichier1 donné en en argument dans un fichier2.

2)rechercher tous les mots qui contiennent au moins 3 lettres majuscules successives.

Pour la 1ère question j'en ai aucune idée mais pour la 2ème j'ai essayé :

grep -w '*[A-Z][A-Z][A-Z]*' fichier


mais ça marche pas sad

Merci

Dernière modification par maleksah (01-05-2012 22:42:10)

Hors ligne

#2 01-05-2012 22:33:13

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

Re : problème avec la commande GREP

Yep!

1-)

grep -o 'mot' fichier.txt | wc -l


2-)
Là faut que je réflechisse...en shell !!!

@+

Zoroastre.

Hors ligne

#3 01-05-2012 22:37:33

maleksah
Membre
Distrib. : squeeze 6.0.4 AMD64
Noyau : 2.6.32-5-686
(G)UI : Gnome 2.30.2
Inscription : 29-01-2012

Re : problème avec la commande GREP

zoroastre74 a écrit :

Yep!

1-)

grep -o 'mot' fichier.txt | wc -l


2-)
Là faut que je réflechisse...en shell !!!

@+

Zoroastre.


merci pour ta réponse mais tu ne réponds pas à ma question (la 1ère)

il faut calculer le nombre d'apparition de chaque mot d'un fichier1 (donné en argument) dans un fichier2.
Merci

Dernière modification par maleksah (01-05-2012 22:38:01)

Hors ligne

#4 01-05-2012 22:37:35

Dunatotatos
Invité

Re : problème avec la commande GREP

Salut,

Pour la 1, tu veux lister tous les mots présents, et les compter ?

Pour la 2, les étoiles ne sont pas utiles (et sont à l'origine du dysfonctionnement). grep te renverras forcément toute la ligne contenant les trois majuscules si tu mets comme seul motif [A-Z][A-Z][A-Z]. L'ajout des étoiles comme ceci ne servira pas de joker, mais bien de caractère '*'

EDIT : Pour la 1, si j'ai bien compris, une idée serait de remplacer chaque espace par un '\n', puis de faire un tri sur le fichier. Reste après à appliquer un uniq pour avoir la liste des mots, ou un grep -c "mot" pour avoir le nombre d'occurence de "mot"

EDIT : Grilled

Dernière modification par Dunatotatos (01-05-2012 22:51:50)

#5 01-05-2012 22:40:02

MaTTuX_
La Paillasse !!!
Lieu : Zoubidou-Land
Distrib. : 75 serveurs
Noyau : 3.2.0-4-amd64 <- et oui !!!
(G)UI : tty et ... pas gnome en tout cas....
Inscription : 28-05-2007

Re : problème avec la commande GREP

Rajoute l'option c à grep pour qu il te compte le nombre de fois qu il trouve le mots.

Saludos

\o/ Le closedSource c'est tabou on a viendra tous à bout \o/

Hors ligne

#6 01-05-2012 22:41:43

maleksah
Membre
Distrib. : squeeze 6.0.4 AMD64
Noyau : 2.6.32-5-686
(G)UI : Gnome 2.30.2
Inscription : 29-01-2012

Re : problème avec la commande GREP

Dunatotatos a écrit :

Salut,

Pour la 1, tu veux lister tous les mots présents, et les compter ?

Pour la 2, les étoiles ne sont pas utiles (et sont à l'origine du dysfonctionnement). grep te renverras forcément toute la ligne contenant les trois majuscules si tu mets comme seul motif [A-Z][A-Z][A-Z]. L'ajout des étoiles comme ceci ne servira pas de joker, mais bien de caractère '*'


pour la 1ère question je viens de l'explique dans le message précédent.

pour la 2ème il faut afficher les mots qui qui contiennent 3 majuscules successives et non pas toute la ligne.

Merci

Hors ligne

#7 01-05-2012 22:42:15

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

Re : problème avec la commande GREP

Yep!

Pour les fichiers en arguments, c'est pas trop compliqué. Ajoutes simplement $1 (1er argument) en lieu et place de fichier.

Essayes quelquechose comme çà pour 2) :

grep -Eo "^[^A-Z]*[A-Z]{3}[A-Z]*$" fichier.txt


ou avec un argument : script.sh fichier1

grep -Eo "^[^A-Z]*[A-Z]{3}[A-Z]*$" $1


Mattux
Heuu!!! L'option -c compte le nombre de ligne où apparait le mot, pas le nombre de mot...

@+

Zoroastre.

Dernière modification par zoroastre74 (01-05-2012 22:46:10)

Hors ligne

#8 01-05-2012 22:43:18

maleksah
Membre
Distrib. : squeeze 6.0.4 AMD64
Noyau : 2.6.32-5-686
(G)UI : Gnome 2.30.2
Inscription : 29-01-2012

Re : problème avec la commande GREP

MaTTuX_ a écrit :

Rajoute l'option c à grep pour qu il te compte le nombre de fois qu il trouve le mots.

Saludos


Merci mais l'option c compte le nombre de lignes et non pas le nombre de mots.

Dernière modification par maleksah (01-05-2012 22:50:14)

Hors ligne

#9 01-05-2012 22:49:48

maleksah
Membre
Distrib. : squeeze 6.0.4 AMD64
Noyau : 2.6.32-5-686
(G)UI : Gnome 2.30.2
Inscription : 29-01-2012

Re : problème avec la commande GREP

zoroastre74 a écrit :

Yep!

Pour les fichiers en arguments, c'est pas trop compliqué. Ajoutes simplement $1 (1er argument) en lieu et place de fichier.

Essayes quelquechose comme çà pour 2) :

grep -Eo "^[^A-Z]*[A-Z]{3}[A-Z]*$" fichier.txt


ou avec un argument : script.sh fichier1

grep -Eo "^[^A-Z]*[A-Z]{3}[A-Z]*$" $1


Mattux
Heuu!!! L'option -c compte le nombre de ligne où apparait le mot, pas le nombre de mot...

@+

Zoroastre.


Merci ça marche sauf qu'il affiche seulement les trois lettres majuscules et non pas tout le mot (à cause de l'option o).

Hors ligne

#10 02-05-2012 12:06:30

maleksah
Membre
Distrib. : squeeze 6.0.4 AMD64
Noyau : 2.6.32-5-686
(G)UI : Gnome 2.30.2
Inscription : 29-01-2012

Re : problème avec la commande GREP

Personne n'a de réponse ?

Hors ligne

#11 02-05-2012 18:03:41

zoroastre74
Membre
Distrib. : Debian Wheezy
Noyau : Linux 3.2
(G)UI : Awesome wm v3.4.13 (Octopus)
Inscription : 28-08-2010

Re : problème avec la commande GREP

Yep!

Je pense que tu as assez d'information pour concocter de tes petits doigts un script à la hauteur de tes espérences.

Sinon, précises où tu en aies et quelles sont tes attentes, avec un maximum de précision.

@+

Zoroastre.

Hors ligne

#12 04-05-2012 00:57:48

maleksah
Membre
Distrib. : squeeze 6.0.4 AMD64
Noyau : 2.6.32-5-686
(G)UI : Gnome 2.30.2
Inscription : 29-01-2012

Re : problème avec la commande GREP

Ok merci je vais essayer.

Hors ligne

#13 09-06-2012 04:32:56

cthuluh
Membre
Distrib. : stable
Noyau : stable
(G)UI : ratpoison
Inscription : 17-08-2010

Re : problème avec la commande GREP

1)

while read -r mot; do
    printf %s "$mot"; grep -Fc "$mot" < fichier
done < liste-de-mots


2)

grep -Eo '\w*[[:upper:]]{3}\w*' < fichier


ou un truc du genre.

Hors ligne

#14 09-06-2012 04:44:11

MaTTuX_
La Paillasse !!!
Lieu : Zoubidou-Land
Distrib. : 75 serveurs
Noyau : 3.2.0-4-amd64 <- et oui !!!
(G)UI : tty et ... pas gnome en tout cas....
Inscription : 28-05-2007

Re : problème avec la commande GREP

Ouais j'aurai dit pareil lol

\o/ Le closedSource c'est tabou on a viendra tous à bout \o/

Hors ligne

Pied de page des forums