Auteur |
Message |
rester_zen
Forumeur occasionnel
Messages: 27
|
Posté le:
Mer 08 Fév 2006 - 10:20 |
|
bonjour tout le monde,
voila : je suis actuellement en stage de deuxième année BTS IG ARLE et mon tuteur me demande de faire une base de données pouvant récupérer, à partir d'un fichier, les répertoires et fichiers d'un répertoire donné(toute l'arborescence de se répertoire)
le fichier que je récupere je l'obtient grace a la commande
#dir c:\*.* /s > résultat.txt
et donc voici un extrait :
Le volume dans le lecteur I s'appelle shared
Le num‚ro de s‚rie du volume est C103-1E49
R‚pertoire de i:\projets_aci
04/02/2006 18:57 <REP> .
04/02/2006 18:10 <REP> ..
29/11/2005 17:43 <REP> AVP
23/04/2004 16:23 <REP> Bplateforme
23/04/2004 16:23 <REP> Projet_PT1
23/04/2004 16:23 <REP> Projet_T2
23/04/2004 16:24 <REP> Projet_PC1
23/04/2004 16:24 <REP> Renault-M2S-X83
23/04/2004 16:25 <REP> Renault-X84
23/04/2004 16:25 <REP> Renault-X90
02/02/2006 16:50 <REP> SI
23/04/2004 16:29 <REP> Suzuki-S1
11/05/2004 13:10 <REP> Jalonnement_projets
22/09/2004 08:05 <REP> Renault-DVU61
10/01/2005 10:50 <REP> X44
17/01/2005 14:54 <REP> Renault-X91
03/10/2005 16:34 <REP> Renault-X95
05/10/2005 15:52 <REP> Renault-X93
0 fichier(s) 0 octets
R‚pertoire de i:\projets_aci\AVP
29/11/2005 17:43 <REP> .
04/02/2006 18:57 <REP> ..
27/06/2005 13:49 <REP> MN1
29/11/2005 17:43 <REP> W62
14/11/2005 09:40 <REP> W95
18/05/2005 08:35 <REP> W93
09/06/2004 16:10 <REP> P32
26/05/2004 10:31 <REP> KF90
02/08/2004 08:31 <REP> 130L_BI
06/10/2004 14:26 <REP> Mobis
14/12/2005 07:59 <REP> Aplateforme
0 fichier(s) 0 octets
et je voudrai grace à un script obtenir quelque chose comme ca :
29/11/2005 17:43 <REP> i:\projets_aci\AVP .
04/02/2006 18:57 <REP> i:\projets_aci\AVP ..
27/06/2005 13:49 <REP> i:\projets_aci\AVP MN1
29/11/2005 17:43 <REP> i:\projets_aci\AVP W62
14/11/2005 09:40 <REP> i:\projets_aci\AVP W95
18/05/2005 08:35 <REP> i:\projets_aci\AVP W93
09/06/2004 16:10 <REP> i:\projets_aci\AVP P32
26/05/2004 10:31 <REP> i:\projets_aci\AVP KF90
02/08/2004 08:31 <REP> i:\projets_aci\AVP 130L_BI
06/10/2004 14:26 <REP> i:\projets_aci\AVP Mobis
14/12/2005 07:59 <REP> i:\projets_aci\AVP Aplateforme
04/02/2006 18:57 <REP> i:\projets_aci .
04/02/2006 18:10 <REP> i:\projets_aci ..
29/11/2005 17:43 <REP> i:\projets_aci AVP
23/04/2004 16:23 <REP> i:\projets_aci Bplateforme
23/04/2004 16:23 <REP> i:\projets_aci Projet_PT1
23/04/2004 16:23 <REP> i:\projets_aci Projet_T2
23/04/2004 16:24 <REP> i:\projets_aci Projet_PC1
23/04/2004 16:24 <REP> i:\projets_aci Renault-M2S-X83
23/04/2004 16:25 <REP> i:\projets_aci Renault-X84
23/04/2004 16:25 <REP> i:\projets_aci Renault-X90
02/02/2006 16:50 <REP> i:\projets_aci SI
23/04/2004 16:29 <REP> i:\projets_aci Suzuki-S1
11/05/2004 13:10 <REP> i:\projets_aci Jalonnement_projets
22/09/2004 08:05 <REP> i:\projets_aci Renault-DVU61
10/01/2005 10:50 <REP> i:\projets_aci X44
17/01/2005 14:54 <REP> i:\projets_aci Renault-X91
03/10/2005 16:34 <REP> i:\projets_aci Renault-X95
05/10/2005 15:52 <REP> i:\projets_aci Renault-X93
...etc....etc
tout cela pour me permettre de pouvoir utiliser ces informations pour récupérer ces info dans une base de données oracle...
jsui pas très bon du tout en script je suis vrmt + sur le réseaux...
Si mes explications ne sont pas très claire demander moi des précisions aucun pbs j'essayerais de vous éclairer.
merci d'avance pour toutes vos réponses et à bientôt |
|
|
|
|
N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire. |
LCastor
Newbiiiie
Sexe:
Messages: 12
|
Posté le:
Mer 08 Fév 2006 - 11:53 |
|
Bonjour
Une partie de mon projet de stage actuel est de faire une étude des logs de squid (proxy)
pour en sortir un historique pour les utilisateurs.
J'ai eu plus ou moin les même question au début.
Essaye d'utiliser la commande shell : awk qui te permettra deja de trier les fichiers puis ensuite tu peux choisir quel champ tu veux garder
apres sur oracle je sais pas trop mais je sais que sur Mysql il ya une commande
LOAD DATE INFILE qui te permet de copier un fichier dans une base de donnée et d'après ce que j'ai lu c'est jusque 20 Fois plus rapide que le INSERT.
Pour le awk je pourrai te la donner par la suite si tu trouve pas .
Et même si tu es ds les réseau il faut savoir plus ou moins faire des scripts .
Enfin C'est ce qu'on me répéte |
_________________
|
|
|
|
Faf
Accro à Web-IG
Sexe:
Messages: 118
|
Posté le:
Mer 08 Fév 2006 - 14:09 |
|
LCastor a écrit: |
Bonjour
Une partie de mon projet de stage actuel est de faire une étude des logs de squid (proxy)
pour en sortir un historique pour les utilisateurs.
J'ai eu plus ou moin les même question au début.
Essaye d'utiliser la commande shell : awk qui te permettra deja de trier les fichiers puis ensuite tu peux choisir quel champ tu veux garder
apres sur oracle je sais pas trop mais je sais que sur Mysql il ya une commande
LOAD DATE INFILE qui te permet de copier un fichier dans une base de donnée et d'après ce que j'ai lu c'est jusque 20 Fois plus rapide que le INSERT.
Pour le awk je pourrai te la donner par la suite si tu trouve pas .
Et même si tu es ds les réseau il faut savoir plus ou moins faire des scripts .
Enfin C'est ce qu'on me répéte |
Le monsieur il a l'air d'etre sous dos/windows...
donc le shell de base avec awk il connait pas... (bien qu'il soit peut etre possible de l'installer je ne sais pas).
Je ne sais pas comment faire en dos mais je suis interessé |
_________________ "Je suis voué a mourir lentement, comme l'industrie du disque, mais je n'ai pas a regretter de ne pas avoir pris assez de risques"
"Si j'ai tjs ete nul en maths c'est que je n'ai jamais compté pour personne"
Fuzati |
|
|
|
LCastor
Newbiiiie
Sexe:
Messages: 12
|
Posté le:
Mer 08 Fév 2006 - 15:24 |
|
ralala le monsieur avait dit sur un autre topic être sur Solaris 10 si j'ai bien lu enfin si il peut nous tenir au courant ca sera plus facile |
_________________
|
|
|
|
rester_zen
Forumeur occasionnel
Messages: 27
|
Posté le:
Mer 08 Fév 2006 - 15:38 |
|
LCastor a écrit: |
ralala le monsieur avait dit sur un autre topic être sur Solaris 10 si j'ai bien lu enfin si il peut nous tenir au courant ca sera plus facile |
oui dsl de ne pas l'avoir rappelé sur ce topic je tourne sur solaris 10 |
|
|
|
|
rester_zen
Forumeur occasionnel
Messages: 27
|
Posté le:
Mer 08 Fév 2006 - 15:56 |
|
LCastor a écrit: |
Bonjour
Une partie de mon projet de stage actuel est de faire une étude des logs de squid (proxy)
pour en sortir un historique pour les utilisateurs.
J'ai eu plus ou moin les même question au début.
Essaye d'utiliser la commande shell : awk qui te permettra deja de trier les fichiers puis ensuite tu peux choisir quel champ tu veux garder
apres sur oracle je sais pas trop mais je sais que sur Mysql il ya une commande
LOAD DATE INFILE qui te permet de copier un fichier dans une base de donnée et d'après ce que j'ai lu c'est jusque 20 Fois plus rapide que le INSERT.
Pour le awk je pourrai te la donner par la suite si tu trouve pas .
Et même si tu es ds les réseau il faut savoir plus ou moins faire des scripts .
Enfin C'est ce qu'on me répéte |
jpense pa que la commande va bcp m'aider car il faut exclure du fichier certaines données comme : Le volume dans le lecteur I s'appelle shared
Le num‚ro de s‚rie du volume est C103-1E49
R‚pertoire de i:\projets_aci
ou encore : 0 fichier(s) 0 octets
R‚pertoire de i:\projets_aci\AVP
et ajouter ds le fichier voulu le chemin pr chaque fichié par exemple :
27/06/2005 13:49 <REP> i:\projets_aci\AVP MN1
fodrai que le script puisse analyser le fichier de facon à repérer les choses que je ne veux pa et celle que je veux.....croyez vous que cela est possible????ou sinon est t-il possible davoir se résultat a partir d'une autre commande?(soit sous linux sous sous windows....)bref le truc bien compliké quoi...franchement j'ai aucune idé de commun faire le script
merci bcp a vous tous |
|
|
|
|
Faf
Accro à Web-IG
Sexe:
Messages: 118
|
Posté le:
Mer 08 Fév 2006 - 16:28 |
|
rester_zen a écrit: |
LCastor a écrit: |
Bonjour
Une partie de mon projet de stage actuel est de faire une étude des logs de squid (proxy)
pour en sortir un historique pour les utilisateurs.
J'ai eu plus ou moin les même question au début.
Essaye d'utiliser la commande shell : awk qui te permettra deja de trier les fichiers puis ensuite tu peux choisir quel champ tu veux garder
apres sur oracle je sais pas trop mais je sais que sur Mysql il ya une commande
LOAD DATE INFILE qui te permet de copier un fichier dans une base de donnée et d'après ce que j'ai lu c'est jusque 20 Fois plus rapide que le INSERT.
Pour le awk je pourrai te la donner par la suite si tu trouve pas .
Et même si tu es ds les réseau il faut savoir plus ou moins faire des scripts .
Enfin C'est ce qu'on me répéte |
jpense pa que la commande va bcp m'aider car il faut exclure du fichier certaines données comme : Le volume dans le lecteur I s'appelle shared
Le num‚ro de s‚rie du volume est C103-1E49
R‚pertoire de i:\projets_aci
ou encore : 0 fichier(s) 0 octets
R‚pertoire de i:\projets_aci\AVP
et ajouter ds le fichier voulu le chemin pr chaque fichié par exemple :
27/06/2005 13:49 <REP> i:\projets_aci\AVP MN1
fodrai que le script puisse analyser le fichier de facon à repérer les choses que je ne veux pa et celle que je veux.....croyez vous que cela est possible????ou sinon est t-il possible davoir se résultat a partir d'une autre commande?(soit sous linux sous sous windows....)bref le truc bien compliké quoi...franchement j'ai aucune idé de commun faire le script
merci bcp a vous tous |
M'okay j'essaie de te faire ca
@+tard |
_________________ "Je suis voué a mourir lentement, comme l'industrie du disque, mais je n'ai pas a regretter de ne pas avoir pris assez de risques"
"Si j'ai tjs ete nul en maths c'est que je n'ai jamais compté pour personne"
Fuzati |
|
|
|
Faf
Accro à Web-IG
Sexe:
Messages: 118
|
Posté le:
Mer 08 Fév 2006 - 17:15 |
|
Si c'est un system unix (solaris il me semble que oui)
essaie de lancer dans un terminal :
l'attribut -R permet des recherches recursives dans les sous directories
il me semble que c'est ce que tu cherchais... |
_________________ "Je suis voué a mourir lentement, comme l'industrie du disque, mais je n'ai pas a regretter de ne pas avoir pris assez de risques"
"Si j'ai tjs ete nul en maths c'est que je n'ai jamais compté pour personne"
Fuzati |
|
|
|
LCastor
Newbiiiie
Sexe:
Messages: 12
|
Posté le:
Mer 08 Fév 2006 - 17:57 |
|
Grumpf , oki bon je me suis trompé désolé j'avais pas tout suivi je vais mepencher dessus pour voir , |
_________________
|
|
|
|
rester_zen
Forumeur occasionnel
Messages: 27
|
Posté le:
Jeu 09 Fév 2006 - 13:23 |
|
LCastor a écrit: |
Bonjour
Une partie de mon projet de stage actuel est de faire une étude des logs de squid (proxy)
pour en sortir un historique pour les utilisateurs.
J'ai eu plus ou moin les même question au début.
Essaye d'utiliser la commande shell : awk qui te permettra deja de trier les fichiers puis ensuite tu peux choisir quel champ tu veux garder
apres sur oracle je sais pas trop mais je sais que sur Mysql il ya une commande
LOAD DATE INFILE qui te permet de copier un fichier dans une base de donnée et d'après ce que j'ai lu c'est jusque 20 Fois plus rapide que le INSERT.
Pour le awk je pourrai te la donner par la suite si tu trouve pas .
Et même si tu es ds les réseau il faut savoir plus ou moins faire des scripts .
Enfin C'est ce qu'on me répéte |
aparament LOAD DATA infile ne marche pas avec sqlplus
es-ce que quelqu'un aurait une autre commande pour inseérier des données à partir d'un fichier dans oracle? |
|
|
|
|
Vincent
Webmaster
Sexe:
Messages: 5584
Localisation: Montpellier
|
Posté le:
Jeu 09 Fév 2006 - 14:19 |
|
Fais toi un fichier qui contient les requêtes INSERT. Au moins c'est quelque chose de "portable" car ca fontionnera sur tout type de SGBD |
_________________ Hey les amis, pensez à suivre @webig sur Twitter, et pourquoi pas me suivre moi @cybervince |
|
|
|
rester_zen
Forumeur occasionnel
Messages: 27
|
Posté le:
Jeu 09 Fév 2006 - 15:07 |
|
Vincent a écrit: |
Fais toi un fichier qui contient les requêtes INSERT. Au moins c'est quelque chose de "portable" car ca fontionnera sur tout type de SGBD |
jsui daccord pour le insert.mais le hic c'est que mon fichier est le résultat d'une commande qui m'indique tous les fichiés et tous les répertoire d'un disque de 60 Go!!!
donc si faut que je fasse des INSERT pour chaque fichier ou dossier à insérer.....g pas fini.... |
|
|
|
|
Vincent
Webmaster
Sexe:
Messages: 5584
Localisation: Montpellier
|
Posté le:
Jeu 09 Fév 2006 - 15:11 |
|
Tu fais un script qui :
1) récupère les noms des fichiers
2) ne garde que ceux qui t'interressent
3) génère des requêtes INSERT qui vont bien
4) balance toutes les requêtes INSERT à la base |
_________________ Hey les amis, pensez à suivre @webig sur Twitter, et pourquoi pas me suivre moi @cybervince |
|
|
|
LCastor
Newbiiiie
Sexe:
Messages: 12
|
Posté le:
Jeu 09 Fév 2006 - 17:15 |
|
rester_zen a écrit: |
donc si faut que je fasse des INSERT pour chaque fichier ou dossier à insérer.....g pas fini.... |
Tu dois pouvoir faire une boucle qui pour chaque element génère le insert qui va bien et après tu les stock dans un .sql
J'ai pas beaucoup eu de tps pour me pencher sur ton pb |
_________________
|
|
|
|
|