Posez votre question Signaler

Shell et awk, ya un probleme???

nonyus - Dernière réponse le 4 juin 2005 à 16:02
Bonjour à tous,

VOila j'ai un probleme,

Je veut tester si un fichier est bien de la forme "*@*@*" etsi il ne les pas afficher une message d'erreur et qui j'ai reussi le premier mais pas a quitter :
testfic=`awk -F "@" 'BEGIN{bon=1;} $0 ~ /*@*@*/ {bon=0;} END{if (bon==0) {print "Fichier non conforme";} }' $2 `
echo $testfic


Mon deuxieme probleme C'est de lire une entree au clavier de la comparer à chaque 1iere colonne de chaque ligne d'un fichier et si sa correspond a l'entree du clavier il faut executer la commande shell qui est a la troisieme colonne de la meme ligne.
execcmd=`awk -F "@" BEGIN'{"read" | getline choix;} $1==choix {"$3";}' $2`
echo $execcmd

Cette commande ne marche pas, et je n'est pas d'autre idée

Merci d'avances pour toutes vos reponses.
Lire la suite 

Shell et awk, ya un probleme »

1 réponses
Réponse
+0
moins plus
Salut,

Pour le 1er problème, teste avec ça :
echo "majux@un" | awk -F "@" '  $0 !~ /^[a-z][a-z]*@[a-z][a-z]*@[a-z][a-z]*/  { print "Fichier non conforme" }'
Fais varier les caractères dans "echo" pour tester.

========================================

Pour le second en partant des fichiers suivants :
(fichier source : fich)

[jp@Mandrake tmpfs]$ cat fich
premier@choix@ls
second@choix@df -h
troisième@choix@ls -l
quatrième@choix@ls -a
choix@premier@df

(fichier script : essai)

[jp@Mandrake tmpfs]$ cat essai
#!/bin/bash

echo "Entrer au clavier un des termes suivants :"
echo
echo -e "\tpremier"
echo -e "\tsecond"
echo -e "\ttroisième"
echo -e "\tquatrième"
echo
read choix

var=`grep ^"$choix" fich | awk -F "@" '{ print $3 }'`
echo $var
$var
exit
[jp@Mandrake tmpfs]$

Ce qui donne :
[jp@Mandrake tmpfs]$ ./essai
Entrer au clavier un des termes suivants :

        premier
        second
        troisième
        quatrième

troisième
ls -l
total 16
-rwxr-xr-x  1 jp jp 237 jun  4 15:52 essai
-rwxr-xr-x  1 jp jp 239 jun  4 15:50 essai~
-rw-r--r--  1 jp jp  98 jun  4 15:50 fich
-rw-r--r--  1 jp jp  91 jun  4 14:32 fich~
-rw-r--r--  1 jp jp   0 jun  4 14:38 fich1
-rw-r--r--  1 jp jp   0 jun  4 14:38 fich2
-rw-r--r--  1 jp jp   0 jun  4 14:38 fich3
[jp@Mandrake tmpfs]$
;-))
Ajouter un commentaire
Ce document intitulé « shell et awk, ya un probleme??? » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?