Rechercher : dans
Par :

Lister contenu répertoire et passage argume

Dernière réponse le 17 jun 2009 à 16:18:51 cobra85, le 17 jun 2009 à 11:23:00 
 Signaler ce message aux modérateurs

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:

$ 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
Configuration: Systeme: Windows XP Home SP3, 80 DDR, 1Go RAM

Antivirus: Avast

Pare-feu: fournit par Windows

Autres: CCleaner, Spybot

Meilleures réponses pour « lister contenu répertoire et passage argume » dans :
[MS-Dos] Lister le contenu d'un répertoire dans un fichier VoirIl peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible...
[PHP] Lister le contenu d'un répertoire VoirGrâce à PHP, il est possible d'afficher le contenu d'un répertoire et de ses sous-répertoires. Voici ci-dessous une fonction permettant de parcourir récursivement les répertoires et sous-répertoires et d'en afficher les fichiers : function...
[Windows] Obtenir la liste des fichiers d'un dossier VoirLister le contenu d'un dossier Voici une astuce simple qui permet de lister le nom des fichiers contenus dans un répertoire. Vous pourrez obtenir en un clic les titres de vos chansons, de vos photos, etc. dans un fichier...

1

jipicy, le 17 jun 2009 à 11:29:44

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...
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

2

cobra85, le 17 jun 2009 à 11:50:08

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.

#$ 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

Répondre à cobra85

3

cobra85, le 17 jun 2009 à 11:53:31

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épondre à cobra85

4

jipicy, le 17 jun 2009 à 14:31:44

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
;-))
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

5

 cobra85, le 17 jun 2009 à 16:18:51

Merci

cela marche, comme je veux.

Encore 2 - 3 test et je mettrait sujet résolu.

MERCI

Répondre à cobra85
Collection CommentÇaMarche.net