Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
pb d'exclusion par expressions régulières
Envoyé par: cancerus

Bonjour,

Voici le contexte. Depuis un serveur, je lance une commande ls dans un répertoire sur 2 machines différentes. Pour conserver une trace, je stocke le résultat dans 2 fichiers différents. Je parcours ensuite le premier fichier et fais un grep dans le second pour savoir si le fichier existe sur le 2ème environnement.

Sachant que je souhaite disposer de la taille, la date et le propriétaire du fichier, je lance ls avec l'option -l.

Les lignes présentes dans les fichiers sont donc du style :
-r-xr-xr-x 1 toto staff 4941 Feb 25 2008 A04000
-r-xr-xr-x 1 toto staff 9234 Feb 25 2008 FA04000
-r-xr-xr-x 1 toto staff 7938 Feb 25 2008 RA04000

Mon problème est justement lié à l'exemple ci-dessus. Je veux savoir si le fichier A04000 est bien présent. Je fais donc : TITI=`cat Fichier2 | grep A04000`
Et je me retrouve avec l'ensemble des 3 lignes ci-dessus dans ma variable TITI alors que je ne voudrais que la ligne concernant A04000.
Avez-vous une idée Sachant que je dois exclure les lignes superflues au moment de rentrer le contenu dans la variable ?
D'avance merci de votre aide.

Poste le Monday 27 October 2008 14:58:39
Répondre     Citer    
Re: pb d'exclusion par expressions régulières

Bonjour Cancerus,

/!\ UUOC *

TITI=$(grep " A04000" Fichier2)



* (Useless Use Of Cat)

Poste le Monday 27 October 2008 15:10:33
Répondre     Citer    
Re: pb d'exclusion par expressions régulières
Envoyé par: cancerus

Merci,

Effectivement, je n'avais pas pensé à l'espace :-).
Pour compléter la syntaxe et éviter ainsi que la variable ne contienne d'autres lignes du genre A04000-TOTO:

TITI=`grep " A04000"$ Fichier2`

Question subsidiaire : quelle syntaxe est préférable entre `commande` et ${commande} ?

Poste le Tuesday 28 October 2008 11:41:15
Répondre     Citer    
Re: pb d'exclusion par expressions régulières
Envoyé par: AlSim

${commande}

[catwell.info]

Poste le Tuesday 28 October 2008 12:55:06
Répondre     Citer    
Re: pb d'exclusion par expressions régulières
Envoyé par: twocats

Citation
AlSim
${commande}
$(commande)

-------------------
La réponse est 42

Poste le Tuesday 28 October 2008 13:40:13
Répondre     Citer    
Re: pb d'exclusion par expressions régulières
Envoyé par: AlSim

J'ai fait un copier-coller de son post sans voir qu'il s'était planté smiling smiley

[catwell.info]

Poste le Tuesday 28 October 2008 17:19:24
Répondre     Citer    
Re: pb d'exclusion par expressions régulières
Envoyé par: Gregory Becker

La réponse exacte est:

grep "\WA04000" ton-fichier

\W (W majuscule) correspond a caractere de ponctuation (en gros pas a-z, A-Z ni 0-9).

Poste le Thursday 30 October 2008 21:45:55
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
pb d'exclusion par expressions régulières
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons