![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her. |
Mer UNIX og Linux Forum Emner Du kan finne nyttig
|
||||
| Tråd | Tråd startet | Forum | Svar | Siste innlegg |
| trenger hjelp med å finne en streng og sende en e-bruker shell script | ranga27 | Shell programmering og Skripting | 10 | 02-19-2008 05:54 |
| Hvordan skrive et shell script til å sende en epost til en id | madhumathikv | Shell programmering og Skripting | 4 | 10-23-2007 06:19 |
| Unix shell skript til Send SMS | sdcoms | UNIX for Advanced & ekspertbrukere | 1 | 05-16-2007 12:01 |
| Shell script til å sende e-post varsling for core dump | rtatineni | Sun Solaris | 1 | 08-17-2006 03:33 |
| Send e-post i Shell script | annelisa | Shell programmering og Skripting | 1 | 07-13-2006 08:35 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Hvordan sende filnavn som variabel i et shell script
Kan vi kan passere filnavnet som variabel i shell script.
Sende filnavnet som parameter fil, shell script tar filename, behov for å erstatte strengen inneholder filnavn med variabel i shell script. EX: test1.sh er shell script og tar file1.csv som parameter fil. Deretter file1.csv må erstattes i test1.ctl filen der kontrollen filen inneholder infile alternativet tar som test1.csv Fra kommandolinjen execute test1.sh file1.csv # Ta file1.csv fil og erstatte den i test1.ctl # test1.ctl Beregnigner data infile 'testing.csv' ...... ...... Her testing.csv må erstattes med "test1.csv" i test1.ctl fil. Hope scenariet er tydelig og noen løsning er verdsatt. Takk. |
|
||||
|
Jeg får forskjellige filer med ulike filnavn daglig. Disse filene må lastes bruker sqlldr verktøyet.
Filnavnet på kontroll filen er satt til "testing.csv '. I stedet for å endre kontroll fil hverdags, jeg prøver å angi filnavnet som variabel gjennom et shell script og pass på at filnavnet som variabel for å erstatte streng kontroll fra testing.csv til variabel som bare er filnavnet. |
|
||||
|
Faktisk kontroll filen inneholder filinformasjonen som vist. Kontroll filen må endres.
# test1.ctl Beregnigner data infile 'testing.csv' ............ I de ovennevnte test1.ctl, må vi erstatte testing.csv til filnavnet som passerer vi som en parameter fra shell script. |
|
||||
|
Hvorfor? Den sqlldr "data \u003d" kommandolinje-parameteren overstyrer INFILE parameter. Også, kan du bare fjerne det fra filen helt hjelp VI. Men hvis du virkelig ønsker å gjøre det slik du beskrev, kan du bruke sed. Code:
sed -e "s/\(INFILE \).*/\1'newfile.csv'/" yourcontrolfile.ctl > newcontrolfile.ctl eller mer spesifikt: Code:
sed -e "s/\(INFILE \).*/\1'${YOURVARIABLE}'/" yourcontrolfile.ctl > newcontrolfile.ctl
|
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|