![]() |
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| problemet med hjälp av ett rör som grep | ShellBeginner | Shell-programmering och Skript | 4 | 05-31-2009 09:14 |
| pipe rapport produktion till en annan server | mirx | Shell-programmering och Skript | 2 | 04-05-2009 06:41 |
| pipe produktion till två filer | NobluesFDT | UNIX for Dummies Frågor & Svar | 2 | 08-06-2008 05:54 |
| hur röret utgångsenergi härifrån-dokument! | sami98 | Shell-programmering och Skript | 7 | 02-17-2008 10:40 |
| output string budskap till röret | princelinux | High Level Programming | 3 | 08-18-2006 02:09 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
pipe produktionen av grep till sed?
Finns det något sätt jag kan göra här:
söka efter text och ersätter linje innehåller matchande text med en annan linje? Till exempel: "Jag vill ersätta text" Jag vill söka efter ersätta och sedan ändra den till Jag är förbryllad. Hoppas det är logiskt. Tack på förhand. |
|
||||
|
Du behöver inte använda grep alls. sed skulle vara tillräckligt.
Kod:
# Replace the whole line with a new one sed -e "s/.*old_string.*/new_string/" # Replace the chosen string with a new one sed -e "s/old_string/new_string/" # Replace every occurance of the chosen string with a new one sed -e "s/old_string/new_string/g" |
|
||||
|
Låt mig vara mer specifik här:
Jag har två variabler i ett shell script som jag tilldela genom att läsa innehållet i en fil Innehållet är som sådan a \u003d "$ var1 \u003d xyz" b \u003d "$ var1 \u003d abc" Jag måste söka en andra filen för händelser på $ var1 \u003d xyz och ersätta det med $ var1 \u003d abc Jag har använt sed -s' s / "" $ en "'/'"$ b "" / g "som fungerar bra, men när innehållet i variabel ett innehålla några specialtecken exempelvis a \u003d" $ var1 \u003d FDH &% 4 " Ersätt inte fungerar. Om jag ändrar värdet till bara en \u003d "$ var1 \u003d", ovan sed fungerar framgångsrikt ersätta $ var1 \u003d i filen till $ var1 \u003d abc. Kan någon snälla hjälpa mig? |