![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
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 |
| ksh - lese filen med ledende private | momi | Shell programmering og Skripting | 2 | 03-17-2008 03:02 |
| Stripping ledende private på høyre rettferdiggjøres navn | Marcia P | UNIX for Dummies Spørsmål og svar | 2 | 02-28-2006 10:32 |
| Fjerne ledende og etterfølgende mellomrom av data mellom kodene i XML. | jhmr7 | UNIX for Dummies Spørsmål og svar | 2 | 05-18-2005 11:27 |
| Strip ledende og etterfølgende mellomrom bare i et shell variabel med innebygd mellomrom | jerardfjay | Shell programmering og Skripting | 6 | 03-07-2005 02:24 |
| Ledende og etterfølgende mellomrom | sleepster | Shell programmering og Skripting | 7 | 10-29-2003 11:48 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
fjerne ledende mellomrom fra en linje
Hei venner
Jeg trenger litt hjelp, Jeg har en fil som ser ut som følger TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635 ANOTHER_TEST 12 5433 FTHH 5653 833 TEST 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS når noen gang det er en ledende plass på linje (her er det en plass på startstreken av linje 2 og 6 som ikke er synlige i tråden), trenger jeg å fjerne det og legge til forrige linje. Dette betyr at jeg vil ha en output fil som ser ut som TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635 ANOTHER_TEST 12 5433 FTHH 5653 833 TEST 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS |
|
||||
|
Sitat:
Jeg prøvde med alternativet ovenfor det gir syntaksfeil for andre linjen feilmeldinger ******* awk: syntaksfeil nær linje 1 awk: bailing ut nær linje 1 ******* også jeg forsøkt med awk '/ ^ / (print P $ 0; neste) (p \u003d $ 0) END (print)' men her det ikke vil vurdere linjer uten en innledende mellomrom pls hjelpe Sist endret av lijojoseph; 03-15-2008 kl 09:12.. |
|
||||
|
Frank,
takk alot det fungerer perfekt med nawk. her også jeg har et lite problem hvis det er mellomrom i 2 etterfølgende linjer så er det ikke vurderer den andre .. som er *** Inndatafilen TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE 226 AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635 ANOTHER_TEST 12 5433 FTHH 5653 833 TEST 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS hvis innledende mellomrom er det i linjene 2 og 3 så resultatet skal se ut TEMP 014637065 014637065 517502 517502 RTE 517502 517502 RTE 2634 AWATER_TEST 12325 23563 588323 2323 5656 32385 23235635 ANOTHER_TEST 12 5433 FTHH 5653 833 TEST 123 123 3235 5353 353 53 35 353 535 3 YTERS GJK JKLS Kan du pls hjelpe? Også kan du bare explane meg awk koden hvis du har tid Igjen mange takk for youe hjelp ![]() |
|
||||
|
Prøv dette:
Code:
awk '
/^ /{p=p $0;next}
p{print p}
{p=$0}
END{print p}
' file
/ ^ / (P \u003d P $ 0; neste) # Sette sammen linjer som begynner med et mellomrom med forrige linjen og lese neste linje Den neste kommandoer effekten de andre linjene: p (print p) # Skriv den forrige linjen hvis angitt (p \u003d $ 0) # Set p END (print p) # Det er ikke flere linjer, utskrift forrige linje (r) Bruk nawk eller / usr/xpg4/bin/awk på Solaris Hilsen |
![]() |
| Hugseliste |
| Tags |
| solaris |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|