The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Brug jokertegn i et script emferrari Shell Programmering og Scripting 13 03-07-2008 04:14 AM
jokertegn IKKE C3000 UNIX for dummyer Spørgsmål & svar 5 11-21-2007 07:19 AM
ls med jokertegn benu302000 UNIX for dummyer Spørgsmål & svar 10 06-29-2005 02:53 PM
jokertegn benu302000 UNIX for dummyer Spørgsmål & svar 3 06-29-2005 01:10 PM
Jokertegn i VI peter.herlihy UNIX for dummyer Spørgsmål & svar 8 01-08-2002 04:27 AM

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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 09-27-2006
HealthyGuy HealthyGuy is offline
Registreret Bruger
  
 

Join Date: Sep 2006
Stillinger: 8
Jokertegn i SED

Hej Kære venner

Quick, jeg kan ikke ud til at finde ud af ..

Jeg har brug for at udskifte en streng som "From her ..... til her".

Jeg ville mene kommando vil se sådan ud:
sed 's / Herfra * her / ny tekst / g' eller
sed 's / Herfra \ * her / ny tekst / g'

Men det er ikke i orden for mig.

Thanks in advance
  #2 (permalink)  
Old 09-27-2006
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.128
Code:
echo 'aksjfhd from here fooo asdlfkjaslkfjd to here aslfjdlaksjdf' | sed 's/from here.*to here/OVER THERE/'
  #3 (permalink)  
Old 09-27-2006
anbu23 anbu23 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Mar 2006
Beliggenhed: Bangalore, Indien
Indlæg: 1.398
* i regulært udtryk vil matche et vilkårligt antal (eller ingen) af de enkelte tegn, der står umiddelbart foran det

Code:
sed 's/From here*to here/new text/g'
Denne regulære udtryk Herfra * til her vil matche
Fra herto her
Fra nærværende her
Fra hereeto her
...

\ Normalt, skal du slukke den særlige betydning af følgende karakter

Code:
sed 's/From here\*to here/new text/g'
Denne regulære udtryk Herfra \ * her vil matche
Herfra * til her

Prøv dette

Code:
sed 's/From here.*to here/new text/g'
  #4 (permalink)  
Old 09-27-2006
Corona688 Corona688 is offline
Registreret Bruger
  
 

Join Date: Aug 2005
Beliggenhed: Saskatchewan
Indlæg: 1.960
Du kan bruge den '-r' mulighed for at fortælle sed at bruge udvidede regulære udtryk. Grundlæggende sed regexes er ret begrænsede.

For det andet, regulære udtryk virker forskelligt i sed end de gør i en shell. * Betyder ikke noget i sig selv, det er en modifier for noget andet. Først skal du fortælle, hvad det udtryk, du ønsker at matche, så er valgfrit, hvor mange af dem, du ønsker at matche. Et udtryk kan være et enkelt bogstav, et sæt af bogstaver, eller noget i parentes.
  • En i sig selv bare matcher bogstavet A, som du forventer.
  • [ABC] sig selv blot matcher bogstavet A, B eller C.
  • A * fortæller det til at matche 0 eller flere A tegn.
  • [ABC] * fortæller det til at matche 0 eller flere tegn mellem A, B, C.
  • [Å] * fortæller det til at matche 0 eller flere tegn mellem A, B, C, ..., Z.
  • [^ A] * fortæller det til at matche 0 eller flere tegn, der ikke er A.
  • (ABC) * fortæller det til at matche 0 eller flere repititions af "ABC".

* Er ikke den eneste modifier:
  • A + fortæller det til at matche 1 eller flere A tegn.
  • A? fortæller det til at matche 0 eller 1 A tegn.
  • En (4) fortæller det til at matche netop 4 A tegn.
  #5 (permalink)  
Old 09-27-2006
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Apr 2004
Beliggenhed: Bordeaux, Frankrig
Posts: 1.428
Den -r valgmulighed er ikke tilgængelig på alle Unix smag.
AIX sed understøtter ikke denne mulighed.

Jean-Pierre.
  #6 (permalink)  
Old 09-27-2006
ghostdog74 ghostdog74 is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Sep 2006
Indlæg: 2.554
Alternativ, uden regulære udtryk

Code:
#!/usr/bin/python
string = "some text in front From here in the middle to here at the end"
fromindex = string.index("From here")
toindex = string.index("to here")
tobeReplace = string[ fromindex : toindex + len("to here") ]
string.replace( tobeReplace , "new text")
Output:
Code:
'some text in front new test at the end'
Closed Thread

Bogmærker

Tags
regex, regulære udtryk

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 10:58 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0