" till slutet av en linje som innehåller / börjar med
![]() |
|
|
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 |
| räkna rader som matchar ett mönster i mellan två mönster, och generera en flik | d.chauliac | Shell-programmering och Skript | 4 | 03-19-2009 01:30 |
| mönstermatchning | talashil | Shell-programmering och Skript | 2 | 02-10-2009 10:59 |
| Kommentar / ta bort ett visst mönster från andra raden i matchande mönster | imas | Shell-programmering och Skript | 4 | 10-13-2008 03:37 |
| Mönstermatchning | blue_bird | UNIX och Linux Applications | 3 | 10-08-2008 02:23 |
| Hjälp behövs mönstermatchning | HIMANI | UNIX for Dummies Frågor & Svar | 10 | 01-22-2008 07:30 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
sed mönstermatchning eller passerar variabler
Jag behöver sed att lägga ett "/>" till slutet av en linje som innehåller / börjar med <meta. nuvarande linjen är HTML-kod:
<meta name="keywords" content="kayword 1, kwyword2">
HTML-kod:
<meta name="keywords" content="kayword 1, kwyword2 " />
Jag behöver något sådant? Kod:
find . -name "*.html" -print0 | xargs -0 sed -i 's/<meta *>/<meta * \/>/g' någon hjälp skulle uppskattas
|
|
||||
|
Jag försökte Kod:
's!\(<meta.*\).$!\1 />!' med att hitta så här Kod:
find . -name "*.html" -print0 | xargs -0 sed -i 's!\(<meta.*\).$!\1 />!' Det fungerar, men resultatet innehåller två ">" så här ... HTML-kod:
<meta name="keywords" content="keyword1, keyword2"> />
Jag spelade med JCastro exempel, men kunde inte få det att fungera med hitta skickas till sed Jag är nära och har tillräckligt med att spela vidare, men någon ytterligare hjälp skulle vara jättebra. |
|
||||
|
Följande använder vanliga uttryck för att avlägsna eventuella onoterade tecken (inklusive ">") och verkar vara mer förutsägbart.
HTML-kod:
find . -name "*.html" -print0 | xargs -0 sed -i s/\(<meta name[a-zA-Z \=\"\,\.\0-8\&\;\@-]*\).*/\1 \/>/
|
![]() |
| Komihåglista |
| Taggar |
| hitta, sed, xargs |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|