![]() |
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 |
| Sett inn tekst på begynnelsen av filen | netwolf | High Level Programmering | 3 | 05-27-2008 12:20 |
| Hvordan sette inn tekst i midten av en fil | kartikkumar84 @ g | UNIX for Dummies Spørsmål og svar | 6 | 05-10-2008 02:35 |
| sette inn en tekst til en fil logg | bucci | Shell programmering og Skripting | 4 | 05-09-2007 07:19 |
| sette inn tekst i toppen av filen | jimbob | Shell programmering og Skripting | 1 | 09-22-2006 05:46 |
| sette inn teksten i et dinamic fil | Sunbird | UNIX for Dummies Spørsmål og svar | 2 | 11-05-2001 10:58 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Fra kommandolinjen bruk
(Merk at disse må fullføres på separate linjer.) Dette vil sette inn på den første linjen i filen. sed '1 I \ teksten går her 'filnavn> new_filename Dette vil legge på den siste linjen i filen. sed "$ a \ teksten går her 'filnavn> new_filename Merk også at med sed du må dirigere produksjonen og endre navn på filen tilbake. Så 'mv new_filename filnavn "når du er ferdig med disse kommandoene. |
|
||||
|
Cool dette synes å fungere. Problemet jeg har nå er at strengen Jeg prøver å sette inneholder 'karakter, som er i konflikt med sed '1 I \ linje. Ordaniril de blir ignorert.
Hvis jeg prøver å unnslippe denne strengen: sed '1 I \ EXEC PR_DbConfigStart \ 'test.txt \', \ '10 \ ', \' DESCRIPTION \ '\ GO '<$ FILENAME> $ TMPFILENAME Jeg får denne feilmeldingen syntaksfeil på linje 8: `''umatchet hvis jeg prøver å bygge strengen i et miljø variabel og avhengig av substitusjon, gjør strengen nt ser ut til å bli erstattet. DBCONFIGSTART \u003d "EXEC PR_DbConfigStart 'test.txt', '10 ',' Beskrivelse '\ NGO" sed '1 I \ $ DBCONFIGSTART '<test2.txt produserer disse utdataene $ DBCONFIGSTART Resten av filen tekst. Har noen noen ideer hvordan jeg kan løse dette |
|
||||
|
Typisk i unix må du utveksle doble anførselstegn og enkle anførselstegn - når den ene eller den andre blir brukt innenfor .. sånn.
Så med sed kommando bruk: sed "1i \ teksten har noen's apostrofer's in her "filnavn> new_filename |
|
||||
|
Ouch,
Jeg får feilmeldingen: sed: Kommando uleselige: 1iEXEC PR_DbConfigStart 'test.txt', '10 ',' Beskrivelse ' når jeg prøver dette. Her er scriptet im benytter #! / usr / bin / ksh FILENAME \u003d test2.txt TMP \u003d. $ TMP TMPFILENAME \u003d $ FILENAME $ TMP sed -e "1i \ EXEC PR_DbConfigStart 'tekst', '10 ',' Beskrivelse ' "<$ filename> $ TMPFILENAME |
|
||||
|
Hva med for utsagn som legger data til slutten av filen?
sed "$ a \ \ PR_DbConfigEnd $ FILENAME "<$ filename> $ TMPFILENAME Jeg får feilmeldingen: sed: Kommando ødelagte: \ Hvis jeg fjerner den andre backslash: sed "$ a \ PR_DbConfigEnd $ FILENAME "<$ filename> $ TMPFILENAME Jeg får denne feilmeldingen: sed: Kommando uleselige: PR_DbConfigEnd test2.txt |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|