![]() |
|
|
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 |
| Overføre data fra en fil til en annen | inquisitive101 | UNIX for Dummies Spørsmål og svar | 1 | 01-05-2009 03:42 |
| FTP - dataoverføringsforespørsel begrensninger. | system-admin | AIX | 2 | 12-20-2006 03:11 |
| Dataoverføringsforespørsel programmer i IPC Mekanismer? | boris35 | UNIX for Dummies Spørsmål og svar | 2 | 05-26-2005 01:12 |
| dataødeleggelse med ftp overføring | malcom | UNIX for Advanced & ekspertbrukere | 12 | 08-04-2003 08:38 |
| Hvor mye data vil overføre til 100 full | 98_1LE | UNIX for Dummies Spørsmål og svar | 3 | 10-05-2001 10:48 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Overføre data fra en fil til en annen
Hei,
Jeg er relativt ny på shell scripting, jobbet Ive på noen grunnleggende prosedyrer og brukte det meste av unix kommandoer i de enkleste situasjoner. Men jeg er nå stilt overfor en oppgave som synes å være utenfor meg. Jeg har en fil med data i form av rader og kolonner: 123 4536 abcd4 677 BBB ggg nnn 32425 343 5656 abcd6 566 eee fff ooo 56454 343 5645 abcd7 556 ddd lll jjj 43536 .... . . . og så videre Jeg trenger et shell-script for å hente disse dataene og sette det inn i et innstikk kommando som ligger i en annen tekst file.The sette kommando vil være i form setter inn table_xyz verdier ($ a, '$ b', '$ c', osv. ) der variablene ville bli verdiene fra de nevnte datafilen. utgangen av skriptet skal være så mange setter utsagn som det er linjer i dataene file.As i, setter inn table_xyz verdier (123, 4536, 'abcd4', 677, 'BBB', 'ggg', 'nnn ", 32425) setter inn table_xyz verdier (343, 5656, 'abcd6', 566, 'Eee', 'fff', 'ooo' 56454) osv. Noen form for skript til å lagre data i en matrise eller noe og iterate gjennom det? Enhver hjelp, vil rådet bli verdsatt ... Enn på forhånd ![]() |
|
||||
|
hei nedenfor perl Skriptet kan hjelpe deg litt Ikke sikker på om kolonnen i fast lengde, hvis ja, kan fjerne disse trimme (og), og antall <angir lengden av verdien din, må du så sikker bruk lengste <for dem alle avhengig av din lengste kolonneverdi . Code:
format TOP=
insert into table_xyz values(@<<<<<,@<<<<<,trim('@<<<<<<'),@<<<<<,trim('@<<<<<'),trim('@<<<<<'),trim('@<<<<<<'),@<<<<<<);
$a $b $c $d $e $f $g $h
.
$~=TOP;
open FH,"<a.txt";
while(<FH>){
($a, $b, $c, $d, $e, $f, $g, $h)=split(" ",$_);
write;
}
close FH;
|
|
||||
|
Ok nå hvor om hvis jeg har et nytt scenario der min. CSV-fil ser slik ut:
a, b, c, d a, b, c, d a, b, c, d e, b, c, d e, b, c, d e, b, c, d Min utgang burde b 3 sette inn forespørsler, som er bare litt annerledes. ie: setter inn table_xyz verdier (123, $ a, 'abcd4', 601, $ b, $ c, $ d, 32425) setter inn table_xyz verdier (124, $ a, 'abcd4', 602, $ b, $ c, $ d, 32425) setter inn table_xyz verdier (125, $ a, 'abcd4', 603, $ b, $ c, $ d, 32425) setter inn table_xyz verdier (126, $ e, 'abcd4', 601, $ b, $ c, $ d, 32425) setter inn table_xyz verdier (127, $ e, 'abcd4', 602, $ b, $ c, $ d, 32425) setter inn table_xyz verdier (128, $ e, 'abcd4', 603, $ b, $ c, $ d, 32425) problemet er måten det 2. og 4. felt i spørringen skulle b trykt. mens 2. feltet skal b gjentas 3 ganger (som i lese hver linje av datafilen), 4. feltet intervaller til 3 og går tilbake etter hvert 3.linje av filen ... noen forslag ...? trenger et shell script ... ![]() Jeg prøvde å endre shell script gitt av Christoph men produksjonen er slik at de samme 3 søk blir gjentatt så mange ganger som det linjer i mitt datafil før du går videre ... ![]() |
![]() |
| Hugseliste |
| Tags |
| awk, awk trim, trim, trim awk |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|