" aan het einde van een regel die / begint met sed pattern matching of het passeren van variabelen - De Unix-en Linux Forum
The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
het tellen van de lijnen overeenkomen met een patroon, tussen twee patroon, en het genereren van een tabblad d.chauliac Programmeren en Shell Scripting 4 03-19-2009 01:30 PM
patroonherkenning talashil Programmeren en Shell Scripting 2 02-10-2009 10:59
commentaar / verwijderen van een bepaald patroon vanaf tweede regel van de matching patroon Imas Programmeren en Shell Scripting 4 10-13-2008 03:37
Pattern matching blue_bird UNIX-en Linux-toepassingen 3 10-08-2008 02:23
Hulp nodig voor patroonherkenning HIMANI UNIX voor Dummies Questions & Answers 10 01-22-2008 07:30

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-17-2009
sky_rivers sky_rivers is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posten: 4
sed pattern matching of het passeren van variabelen

Ik moet sed voor het toevoegen van een "/>" aan het einde van een regel die / begint met <meta.

huidige regel is
HTML-code:
<meta name="keywords" content="kayword 1, kwyword2">
en moeten worden
HTML-code:
<meta name="keywords" content="kayword 1, kwyword2 " />

Ik heb zoiets als dit?
Code:
find . -name "*.html" -print0 | xargs -0 sed -i 's/<meta *>/<meta * \/>/g'
enige hulp zou worden gewaardeerd
  #2 (permalink)  
Old 03-17-2009
JCastro JCastro is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Locatie: Canarische Is. Spanje
Posts: 5
Probeer:
Code:
 sed -n '/^<meta/p' test | sed 's\>\ />\g'
(sed neemt alleen de regels die beginnen met <meta en wijzigingen> naar />)
  #3 (permalink)  
Old 03-17-2009
JCastro JCastro is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Locatie: Canarische Is. Spanje
Posts: 5
.... er nota van dat "test" moet je eigen bestand ...
  #4 (permalink)  
Old 03-17-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Berichten: 4.309
Een andere aanpak:

Code:
sed 's!\(<meta.*\).$!\1 />!'
Groeten
  #5 (permalink)  
Old 03-17-2009
sky_rivers sky_rivers is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posten: 4
Ik probeerde
Code:
's!\(<meta.*\).$!\1 />!'
met zoeken als dit
Code:
find . -name "*.html" -print0 | xargs -0 sed -i 's!\(<meta.*\).$!\1 />!'
Het werkt, maar het resultaat bestaat uit twee ">" als dit ...
HTML-code:
<meta name="keywords" content="keyword1, keyword2"> />
Ik kon lopen een ander sed te vervangen "> />", maar als het gaat om een eenvoudige verbetering van de sectie hierboven vinden?

Ik speelde met JCastro het voorbeeld, maar niet kunnen krijgen om mee te werken vinden via leidingen aan sed

Ik ben dicht en hebben genoeg om verder te spelen, maar de eventuele verdere hulp zou geweldig zijn.
  #6 (permalink)  
Old 03-17-2009
sky_rivers sky_rivers is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posten: 4
Dit werkt ...
Code:
find lib/lib-pal -name "*.html" -print0 | xargs -0 sed -i 's!\(<meta.*\).$!\1 />!;s/"> \/>/" \/>/g'
Bedankt

Laatst gewijzigd door sky_rivers; op 03.17.2009 02:05 PM..
  #7 (permalink)  
Old 03-18-2009
sky_rivers sky_rivers is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2009
Posten: 4
De volgende reguliere expressie gebruikt om een niet-beursgenoteerde karakters (inclusief ">") en lijkt meer voorspelbaar.
HTML-code:
find . -name "*.html" -print0 | xargs -0 sed -i s/\(<meta name[a-zA-Z \=\"\,\.\0-8\&\;\@-]*\).*/\1 \/>/
Closed Thread

Bladwijzers

Labels
zoeken, sed, xargs

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 02:22.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0