![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| besoin d'aide dans la recherche d'une chaîne et d'envoyer un courrier électronique à l'aide du script shell | ranga27 | De programmation et de script Shell | 10 | 02-19-2008 05:54 PM |
| Comment écrire un script pour envoyer un email à une identité | madhumathikv | De programmation et de script Shell | 4 | 10-23-2007 06:19 PM |
| Script shell Unix pour envoyer des SMS | sdcoms | UNIX for Advanced & Expert Users | 1 | 05-16-2007 12:01 PM |
| Shell script pour envoyer des e-mails d'alerte pour les core dump | rtatineni | SUN Solaris | 1 | 08-17-2006 03:33 PM |
| Envoyer un e-mail à Shell script | Annelisa | De programmation et de script Shell | 1 | 07-13-2006 08:35 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Comment envoyer un fichier en tant que variable dans un script shell
Puis, nous pouvons passer le nom de fichier comme variable dans le shell script.
L'envoi du fichier comme un fichier de paramètre, le script prend le nom de fichier, les besoins de remplacer la chaîne de caractères contenant le nom du fichier à la variable dans le shell script. EX: test1.sh est le script shell file1.csv et prend en paramètre le fichier. Puis file1.csv doit être remplacé test1.ctl dans le fichier où le fichier de contrôle contient le infile option en prenant comme test1.csv De la ligne de commande exécuter test1.sh file1.csv # Prendre le file1.csv fichier et de le remplacer dans test1.ctl # test1.ctl charger des données infile 'testing.csv' ...... ...... Ici, la testing.csv doit être remplacé par «test1.csv 'dans le fichier test1.ctl. Espérons que le scénario est clair et toute solution est grandement appréciée. Merci. |
|
||||
|
Je reçois des fichiers différents avec différents noms de fichiers par jour. Ces fichiers doivent être chargés en utilisant sqlldr utilité.
Le nom de fichier dans le fichier de contrôle est fixé à 'testing.csv ». Plutôt que de modifier le fichier de contrôle de tous les jours, j'essaie de mettre le nom de fichier comme variable par l'intermédiaire d'un script shell et de transmettre cette variable comme nom de fichier pour remplacer la chaîne dans le fichier de contrôle de testing.csv de la variable qui n'est rien d'autre que le nom du fichier. |
|
||||
|
En fait, le fichier de contrôle contient les informations des fichiers, comme indiqué. Le fichier de contrôle doit être modifiée.
# test1.ctl charger des données infile 'testing.csv' ............ Dans le test1.ctl ci-dessus, nous avons besoin de remplacer testing.csv au nom du fichier que l'on passe comme paramètre à partir du shell script. |
|
||||
|
Pourquoi? Le sqlldr "data \u003d" paramètre de ligne de commande remplace le paramètre INFILE. Aussi, vous pouvez simplement supprimer le fichier de heap_table vi.
Mais si vous voulez vraiment faire de la façon que vous avez décrite, vous pouvez utiliser sed. Code:
sed -e "s/\(INFILE \).*/\1'newfile.csv'/" yourcontrolfile.ctl > newcontrolfile.ctl Code:
sed -e "s/\(INFILE \).*/\1'${YOURVARIABLE}'/" yourcontrolfile.ctl > newcontrolfile.ctl
|
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|