Shell et awk, ya un probleme???
Fermé
nonyus
-
4 juin 2005 à 11:33
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 4 juin 2005 à 16:02
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 4 juin 2005 à 16:02
A voir également:
- Shell et awk, ya un probleme???
- Classic shell windows 11 - Télécharger - Personnalisation
- Shell do while ✓ - Forum Shell
- Shell startup windows 10 - Guide
- Startup.nsh shell ✓ - Forum Windows 10
- Ssh secure shell download - Télécharger - Divers Web & Internet
1 réponse
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
4 juin 2005 à 16:02
4 juin 2005 à 16:02
Salut,
Pour le 1er problème, teste avec ça :
========================================
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 :
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]$;-))