![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Shell Vos questions sur l'utilisation des commandes shell |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: avril 2007
Messages: 75
|
Bonjour,
je voudrais que vous m'aidez a e écrire le commande grep ne recherche que le lignes ou figure le mot tel quel et non pas ses variantes ? par exemple : on cherche le mot <<travail>>, mais pas <<travailleur>> ou <<travailler>>..........etc Je vous remercie en avance |
|
|
|
|
|
#2 (permalink) |
|
Membre émérite
![]() Date d'inscription: septembre 2002
Localisation: Bruxelles
Âge: 30
Messages: 959
|
Salut,
Pour trouver exactement le pattern que tu recherches, tu peux l'implémenter de cette manière: Code :
[mvts2 ~]# cat test.txt travailler travailleur travail [mvts2 ~]# grep "travail" test.txt travailler travailleur travail [mvts2 ~]# grep "^travail$" test.txt travail |
|
|
|
|
|
#3 (permalink) |
![]() Date d'inscription: avril 2007
Messages: 253
|
En considérant qu'il y a un espace derrière le mot travail lorsque celui ci est à un endroit quelconque de la phrase ou que celui ci est en fin de phrase et par conséquent qu'il peut y avoir un (ou plusieurs) point(s) (point d'exclamation, point virgule, point d'interrogation etc...) en fin de phrase ça devrait donner ça
Code :
grep -E 'travail |travail[\.,;:!?]* |travail$|travail[\.,;:!?]*$' fichier Dernière modification par CedrX ; 14/08/2008 à 20h27 |
|
|
|
|
|
#4 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2007
Localisation: Toulouse
Messages: 471
|
Tout est prévu
Important : l'option -e de grep ( Expressions Régulières ) Code :
cat > test.txt <<EOD Au travail! le travail fatigue le travailleur est fatigué Arrêter de travailler repose EOD echo "* recherche du MOT (w pour word) travail" grep -w travail test.txt echo -e "\n* recherche du MOT travail (équivaut à -w)" grep -e "\<travail\>" test.txt echo -e "\n* Chaîne commençant par travail" grep -e "\<travail" test.txt echo -e "\n* Chaîne terminant par travail" grep -e "travail\>" test.txt Code :
* recherche du MOT (w pour word) travail Au travail! le travail fatigue * recherche du MOT travail (équivaut à -w) Au travail! le travail fatigue * Chaîne commençant par travail Au travail! le travail fatigue le travailleur est fatigué Arrêter de travailler repose * Chaîne terminant par travail Au travail! le travail fatigue
__________________
Loi de Murphy: La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi. La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi. Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi. |
|
|
|
|
![]() |
![]() |
||
aide commande unix
|
||
| Outils de la discussion | |
|
|