Tester présence variable dans fichier en shel
Résolu/Fermé
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
-
10 juil. 2009 à 14:59
cobra85 Messages postés 132 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 15 novembre 2014 - 13 juil. 2009 à 14:09
cobra85 Messages postés 132 Date d'inscription mercredi 20 décembre 2006 Statut Membre Dernière intervention 15 novembre 2014 - 13 juil. 2009 à 14:09
A voir également:
- Tester présence variable dans fichier en shel
- Fichier rar - Guide
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
9 réponses
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
10 juil. 2009 à 15:41
10 juil. 2009 à 15:41
Salut,
Qu'entends-tu par "variable" ? Un mot dans un fichier ?
Qu'entends-tu par "variable" ? Un mot dans un fichier ?
grep -q "mot_à_chercher" fichier if [ "$?" = "0" ] then exécuter else ... fi
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
3
10 juil. 2009 à 15:48
10 juil. 2009 à 15:48
Salut,
oui, par variable je voulais dire un mot dans un fichier.
merci
oui, par variable je voulais dire un mot dans un fichier.
merci
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
3
11 juil. 2009 à 18:58
11 juil. 2009 à 18:58
Salut,
J'ai testé ya commande mais rien je n'arrive pas à la faire fonctionner:
J'ai testé ya commande mais rien je n'arrive pas à la faire fonctionner:
#$ nl adress_coordonnee1.awk { for fich in *.txt; do grep -q "mot_à_chercher" fichier if [ "$?" = "0" ] then sed "s/address /'/g" adress2_${fich%.*}.txt > adress1_${fich%.*}.txt sed "s/rue/'/g" adress1_${fich%.*}1.txt > adress2_${fich%.*}.txt #permet de vider la table avant de la remplir echo 'echo "truncate table "adresse_'${fich%.*}'" ;" | mysql fournisseur ' > ADRESSE_FINAL_${fich%.*}.sql #affiche "insert into ..." dans un fichier nommé adress_text.csv echo 'echo "insert into adresse_'${fich%.*}' (adresse, rue) values '> adress_text.csv #permet d'inserer les données de adress1_coordonnee1.txt dans adress_text.csv tout en gardant en mémoire les valeurs déja inscrites dans ce fichier. cat adress1_${fich%.*}.txt >> adress_text.csv #permet de supprimer les retours chariots du fichier adress_text.txt puis de tout mettre dans un fichier adress1_text.csv tr -d '\r\n' < adress_text.csv > adress1_text.csv sed 's/)(/), (/g' adress1_text.csv > adress2_text.csv sed 's/)*$/);" | mysql founisseur/g' adress2_text.csv > adress3_text.csv echo -e '\n' >> adress3_text.csv cat adress3_text.csv >> ADRESSE_FINAL_${fich%.*}.sql #permet de supprimer définitivement les fichiers intermédiaires générés après l'éxécution du script sans les mettre dans la poubelle. Il ne restera que ADRESSE_FINAL.sql rm adress3_${fich%.*}.txt rm adress2_${fich%.*}.txt rm adress1_${fich%.*}.txt rm adress_text.csv rm adress1_text.csv rm adress2_text.csv rm adress3_text.csv else fi done }
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
11 juil. 2009 à 19:02
11 juil. 2009 à 19:02
Alors... dans :
grep -q "mot_à_chercher" fichieril faut remplacer "mot_à_chercher" par le mot dont tu veux tester la présence et "fichier" par "$fich". Sans quoi forcément ça marche pas ;-((
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
3
13 juil. 2009 à 13:16
13 juil. 2009 à 13:16
Salut,
j'ai fait comme indiqué, mais le fichier ne se lance pas. En faite, il n'aime pas la condition ifet les arguments qui lui sont propre
j'ai fait comme indiqué, mais le fichier ne se lance pas. En faite, il n'aime pas la condition ifet les arguments qui lui sont propre
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
13 juil. 2009 à 13:20
13 juil. 2009 à 13:20
Affiche ton script revu et corrigé.
Affiche un extrait d'un fichier contenant le mot_clé recherché et un extrait d'un fichier ne contenant pas le mot_clé recherché.
Merci.
Affiche un extrait d'un fichier contenant le mot_clé recherché et un extrait d'un fichier ne contenant pas le mot_clé recherché.
Merci.
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
3
13 juil. 2009 à 13:47
13 juil. 2009 à 13:47
Voici un extrait contenant le mot clé: P330
et voici le même fichier sans le mot clé
!#CODE P330 !# Nom: M. Dumont address 33 rue Av du Gnl De Gaulle Nom: Mme address 167 rue Place Alésia Ville Paris Nom: M. Dumont address 10 rue impasse du bois
et voici le même fichier sans le mot clé
!# address 33 rue Av du Gnl De Gaulle address 167 rue Place Alésia address 10 rue impasse du bois
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
13 juil. 2009 à 13:57
13 juil. 2009 à 13:57
[tmpfs]$ cat plop !#CODE P330 !# Nom: M. Dumont address 33 rue Av du Gnl De Gaulle Nom: Mme address 167 rue Place Alésia Ville Paris Nom: M. Dumont address 10 rue impasse du bois [tmpfs]$ cat plop2 !# address 33 rue Av du Gnl De Gaulle Nom: Mme address 167 rue Place Alésia Ville Paris Nom: M. Dumont address 10 rue impasse du bois [tmpfs]$ cat foo.sh #! /bin/sh #set -xv for fich in plop*; do grep -q "P330" ${fich} if [ "$?" = "0" ] then echo "Le fichier ${fich} contient bien le mot clé." else echo "Le fichier ${fich} ne contient pas le mot clé." fi done [tmpfs]$ ./foo.sh Le fichier plop contient bien le mot clé. Le fichier plop2 ne contient pas le mot clé. [tmpfs]$;-))
cobra85
Messages postés
132
Date d'inscription
mercredi 20 décembre 2006
Statut
Membre
Dernière intervention
15 novembre 2014
3
13 juil. 2009 à 14:09
13 juil. 2009 à 14:09
OK, merci beaucoup