![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her. |
Mere UNIX og Linux Forum Emner du måske kan finde Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Last Post |
| sed query | gopsman | Shell Programmering og Scripting | 4 | 02-03-2009 02:41 AM |
| & I SQL forespørgsel | Lindarella | Shell Programmering og Scripting | 3 | 10-09-2006 05:43 PM |
| Forespørgsel i awk | raguramtgr | UNIX for dummyer Spørgsmål & svar | 1 | 08-27-2004 12:00 PM |
| RPM Query | silvaman | UNIX for Advanced & Ekspertsøgning Brugere | 1 | 08-15-2003 08:56 AM |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
sed query
Jeg har en række mapper / temp / a / temp / b / temp / c
I mapper a, b og c, jeg har filer a1.txt ... ... .... a20.txt b1.txt ... ... .... b40.txt & c1.txt ... ... .... c60.txt Hver fil har samme data format: -- Linje 1 AAAAA aaaa Linje 2 BBB bbbbbb Linje 3 CCCC CCCCCC Etc etc Jeg har brug for at skrive en sed script, der vil gå igennem alle de filer, omformatere de data, således: -- Linje 1 AAAAA aaaa Linje 2 BBB Linje 3 X bbbbbb Linje 4 CCCC CCCCCC Etc etc Så jeg har brug for at indsætte en CR / LF i linje 2 holdning 4, oprette en ny linje 3 med en konstant tekst (X), og værdien af, hvad der var til højre for den tidligere linje 2 (bbbbbb) og flytte de resterende linjer en linje ned. Can anyone help please? Jeg ved ikke, sed meget godt, og awk slet ikke. |
|
||||
|
sed løsning
Tak Anbu23
Når jeg sendt i går, jeg forenklet mit problem, tænkte, at jeg kunne følge din logik, og anvende det til mit egentlige problem. Faktisk er det linie 5 stilling, 32, inden som CR / LF skal indsættes. Den nye linje 6 vil indeholde faste tekst fra position 1 til 31 inklusive, (X) og stilling fra 32 til 34 fra linje 5, vil være faldet ned til de samme holdninger til linje 6. Jeg forsøgte sed "5 s / \ (... \). \ (.* \) / \ 1 \ \ X \ 2 / "$ file> tmp men dette stadig spildt efter 3 tegn. Jeg forsøgte sed "5 s / \ (............................. \). \ (.* \) / \ 1 \ \ X \ 2 / "$ file> tmp men fik en syntaksfejl. Håber du kan også hjælpe. Tak |
|
||||
|
Tidligere du at vide, at efter første par tegn i nogle linje skal flyttes til næste linje med X. Men nu du fortæller at du har brug for indledende char og X og de resterende char i nye line.I er ikke i stand til at få dig.
Kan du give mig eksempel? |
|
||||
|
sed eksempel
Hi Anbu23
input Ref: 12345678 ^ M Værdi Dato: 28-MAY-2006 ^ M Debet A / c: 54321235 - abcdef ^ M Kunde: 100210547 - abcdef ^ M Debit Amount: 9999999999,00 USD ^ M Beskrivelse: ledning til Wxxxxxx ^ M ^ M Exchange Rate: 1,00000 ^ M etc etc skal blive til Ref: 12345678 ^ M Værdi Dato: 28-MAY-2006 ^ M Debet A / c: 54321235 - abcdef ^ M Kunde: 100210547 - abcdef ^ M Debit Amount: 9999999999,00 ^ M xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx USD ^ M Beskrivelse: ledning til Wxxxxxx ^ M ^ M Exchange Rate: 1,00000 ^ M etc etc opskæring & indsætte har udlignet i displayet over, men mit tidligere linje 5 position 31 er korrekte. Bemærk også, at der er masser af plader i hver fil, og alle skal formateres. Mange tak igen Jeg sætter pris på din støtte. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|