Lister contenu répertoire et passage argume
Résolu
cobra85
Messages postés
148
Statut
Membre
-
cobra85 Messages postés 148 Statut Membre -
cobra85 Messages postés 148 Statut Membre -
Bonjour,
Je voudrai un script shell ou bash pour recupérer des noms de fichiers sans l'extention si possible dont je ne connait pas les noms et les passer en arguments pour les inserer dans des requetes SQL et les mettre en fin de nom.
J'ai un "debut" de script pour supprimer les extentions:
Début de script pour le passage d'argument:
$ X=22
$ le prix est de ${X}
le probleme est que je n'arrive pas à mixer tout cela pour faire un script potable
Merci
Je voudrai un script shell ou bash pour recupérer des noms de fichiers sans l'extention si possible dont je ne connait pas les noms et les passer en arguments pour les inserer dans des requetes SQL et les mettre en fin de nom.
J'ai un "debut" de script pour supprimer les extentions:
$ F='rep/toto.txt'
$ echo $ {F%.*}
rep/toto
Début de script pour le passage d'argument:
$ X=22
$ le prix est de ${X}
le probleme est que je n'arrive pas à mixer tout cela pour faire un script potable
Merci
A voir également:
- Lister contenu répertoire et passage argume
- Passage qwerty azerty - Guide
- Word a trouvé du contenu illisible - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Fusionner deux cellules excel en gardant le contenu - Guide
- Test passage windows 11 - Guide
5 réponses
Salut,
A quoi ressemble ta requête SQL et où doivent être insérés les noms sans extensions ?
En gros un exemple du contenu de ton répertoire, suivi d'un exemple de ta requête tel qu'elle doit être...
A quoi ressemble ta requête SQL et où doivent être insérés les noms sans extensions ?
En gros un exemple du contenu de ton répertoire, suivi d'un exemple de ta requête tel qu'elle doit être...
Voici une partie du code.
Je voudrai que le fichier coordonnee1 qui est inscrit en dur puisse etre remplacé par les noms des fichiers de manieres dynamique, sans être obligé de créer un script pour chaque fichier.
le nom doit etre inscrit dans la requete SQL.
Ici, remplacer tout les coordonnee1 par un passage d'argument qui inscriera le nom du fichier.
merci
Je voudrai que le fichier coordonnee1 qui est inscrit en dur puisse etre remplacé par les noms des fichiers de manieres dynamique, sans être obligé de créer un script pour chaque fichier.
le nom doit etre inscrit dans la requete SQL.
Ici, remplacer tout les coordonnee1 par un passage d'argument qui inscriera le nom du fichier.
#$ nl adress_coordonnee1.awk
{
sed "s/address /'/g" adress2_coordonnee1.txt > adress1_coordonnee1.txt
sed "s/rue/'/g" adress1_coordonnee1.txt > adress2_coordonnee1.txt
#permet de vider la table avant de la remplir
echo 'echo "truncate table "adresse_coordonnee1" ;" | mysql fournisseur ' > ADRESSE_FINAL_COORDONNEE1.sql
#affiche "insert into ..." dans un fichier nommé adress_text.csv
echo 'echo "insert into adresse_coordonnee1 (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_coordonnee1.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_COORDONNEE1.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_COORDONNEE1.txt
rm adress2_COORDONNEE1.txt
rm adress1_COORDONNEE1.txt
rm adress_text.csv
rm adress1_text.csv
rm adress2_text.csv
rm adress3_text.csv
}
merci
J'ai oublié, pour le contenu du répertoire, les fichier peuvent etre du type.
Répertoire: Carnet adresse
Fichier:
coordonnee1.txt
coordonnee2.txt
coordonnee2.cfg
Répertoire: Carnet adresse
Fichier:
coordonnee1.txt
coordonnee2.txt
coordonnee2.cfg
Re-
for fich in *;do
sed "s/address /'/g" adress2_${fich%.*}.txt > adress1_${fich%.*}.txt
sed "s/rue/'/g" adress1_${fich%.*}.txt > adress2_${fich%.*}.txt
etc.
...
done
;-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question