Petit programme en shell

Petit programme en shell - Shell/Batch - Programmation

Marsh Posté le 30-12-2005 à 11:26:06    

Bonjour,
 
je ne connais rien au shell et j'aimerais savoir comment faire pour récupérer des données dans un fichier pour les mettre dans une table...
Si quelqu'un pouvait me donner des directives à suivre ce serait sympa.

Reply

Marsh Posté le 30-12-2005 à 11:26:06   

Reply

Marsh Posté le 30-12-2005 à 11:27:44    

Si ma mémoire est bonne, tu travailles avec Oracle ?
 
Tu n'as pas de commande type "bcp" qui traine ? (jamais travaillé avec oracle, bossé que sur sybase jusque là)

Reply

Marsh Posté le 30-12-2005 à 11:52:18    

claralavraie a écrit :

Bonjour,
 
je ne connais rien au shell et j'aimerais savoir comment faire pour récupérer des données dans un fichier pour les mettre dans une table...
Si quelqu'un pouvait me donner des directives à suivre ce serait sympa.


 
quelle plateforme ? windows ? unix ? base de données, SQL serveur ? Oracle ?

Reply

Marsh Posté le 30-12-2005 à 12:01:12    

Bases de données c'est oracle et la plateforme unix....

Reply

Marsh Posté le 30-12-2005 à 18:11:57    

claralavraie a écrit :

Bases de données c'est oracle et la plateforme unix....


tu deux choix possibles :
insert normal avec sqlplus ou sql&loader

Reply

Marsh Posté le 30-12-2005 à 18:56:15    

claralavraie a écrit :

Bonjour,
 
je ne connais rien au shell et j'aimerais savoir comment faire pour récupérer des données dans un fichier pour les mettre dans une table...
Si quelqu'un pouvait me donner des directives à suivre ce serait sympa.


 
Bon, alors voici en très rapide comment lire un fichier "fic" ligne par ligne

#!/bin/sh
 
# Stockage du fichier dans le buffer n° 3
exec 3<fic
 
# Lecture du buffer 3 ligne par ligne
while read lig 0<&3
do
       # Traitement de la ligne
       echo $lig
 
      # Le traitement peut être plus complexe, comme extraire certains mots pour les insérer dans une table => insert ...
 
done
# Fini


 
Maintenant si vraiment tu ne connais rien au shell, alors le mieux c'est de l'apprendre => http://fr.lang.free.fr/cours/Shell_v1.4.pdf


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 30-12-2005 à 18:57:51    

Ce serait pas plus simple avec awk, ce genre de chose ? :??:

Reply

Marsh Posté le 31-12-2005 à 17:46:36    

Elmoricq a écrit :

Ce serait pas plus simple avec awk, ce genre de chose ? :??:


Euh... pour extraire et traiter la ligne certainement. Mais pour faire exécuter une requète SQL derrière... ou alors on génère les requètes dans un fichier qu'on exécute ensuite...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 01-01-2006 à 11:26:06    

Ca dépend comment fonctionnent les outils SQL d'Oracle, je ne connais que ceux de Sybase, avec lesquels awk est plus sympa à utiliser.
 
'fin bon c'est pour pinailler de toute façon [:petrus75]

Reply

Marsh Posté le 02-01-2006 à 09:33:43    

Sve@r a écrit :


Maintenant si vraiment tu ne connais rien au shell, alors le mieux c'est de l'apprendre d'apprendre autre chose comme Perl, Python ou Ruby


claralavraie > Le shell est outil hors d'âge au fonctionnement parfois limite incompréhensible (exemple typique), à l'apprentissage long (il nécessite rapidement d'apprendre sed et awk auxquels tous les reproches que je fais au shell s'appliquent également), pénible à déboguer, et au minimum 20 fois plus lent que n'importe lequel des langages de script que j'ai cités. L'apprendre n'est utile que pour comprendre un code existant, mais il faut le moins souvent possible essayer de programmer avec sauf s'il on aime marcher avec des chaussures de plomb.

Message cité 1 fois
Message édité par el muchacho le 02-01-2006 à 10:05:15

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 02-01-2006 à 09:33:43   

Reply

Marsh Posté le 02-01-2006 à 09:42:35    

funno a écrit :

tu deux choix possibles :
insert normal avec sqlplus ou sql&loader


peux-tu me donner un exemple de fichier de données et je te send la solution !


Message édité par funno le 02-01-2006 à 09:43:24
Reply

Marsh Posté le 02-01-2006 à 23:32:05    

el muchacho a écrit :

claralavraie > Le shell est outil hors d'âge au fonctionnement parfois limite incompréhensible (exemple typique)


Alors déjà ton exemple mène sur une page vide, ensuite si tu ne comprends rien au shell (ce qui est réellement étonnant vu la simplicité de ce langage) ce n'est pas pour ça qu'il faut le dénigrer comme tu le fais !
 

el muchacho a écrit :

à l'apprentissage long


Boaf... ça dépend des facultés intellectuelles de chacun...
 

el muchacho a écrit :

(il nécessite rapidement d'apprendre sed et awk auxquels tous les reproches que je fais au shell s'appliquent également)


Pfff "sed" et "awk" sont des outils externes tout comme "sort",  "cut", "grep" ou même "ls". Ils ont une utilité précise mais n'ont rien à voir avec le shell en lui-même (surtout qu'ils ont été écrits en C)
 

el muchacho a écrit :

L'apprendre n'est utile que pour comprendre un code existant


Non, c'est utile parce que dès qu'on est loggué on est dans un shell !!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed