Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
Google Site



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.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 06-09-2006
Registreret Bruger
 

Join Date: Jun 2006
Stillinger: 29
Regular Expressions

Hvordan kan jeg oprette et regulært udtryk, der kan spore en ny linje charcter efterfulgt af en særlig karakter sige * og erstatte disse både som en streng af nul længde?

Fx:
Input File san.txt

hej
hej
* Bruger
God
* Morning
God
Farvel


Anvender sed kommando

sed 's /Reg.Expr/g 'san.txt
--------------------------------------->

Ønskede output

hej
hiUser
GoodMorning
God
Farvel

Hvad skal værdien af Reg.Expr dvs regulært udtryk for at få den ønskede effekt?


Please help
Sponsorerede links
  #2 (permalink)  
Old 06-09-2006
...@...
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 6.172

Code:
sed 's/^\*//s' filename

  #3 (permalink)  
Old 06-09-2006
Registreret Bruger
 

Join Date: Jun 2006
Stillinger: 29
Jeg forsøgte, men det er der ikke giver det ønskede output

$ sed 's / ^ \ * / / g' san.txt
hej
hej
Bruger
God
Morgen
God
Farvel


Ønskede Output er
hej
hiUser
GoodMorning
God
Farvel
  #4 (permalink)  
Old 06-09-2006
...@...
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 6.172
Jeg ved ikke, hvordan man kan gøre det med sed, I guess. awk værker:

Code:
awk 'BEGIN{ getline; printf "%s", $0}
    { if(substr($0,1,1)=="*"){
         printf "%s", substr($0,2)
      }
      else {
         printf "\n%s", $0
      }
    }    
     END{printf "\n"} 
     ' filename

  #5 (permalink)  
Old 06-09-2006
Registreret Bruger
 

Join Date: Jun 2006
Stillinger: 29
Tak så meget ... det fungerede for mig.
Jeg er en newbie til shell scripts og langsomt arbejder min måde. Jeg har forsøgt dette, da det to dage, men couldnt gøre ud.



Tak igen

Sidst redigeret af sandeep_hi; 06-09-2006 på 09:44 AM..
  #6 (permalink)  
Old 06-11-2006
tayyabq8's Avatar
Ex-Moderator
 

Join Date: Nov 2004
Beliggenhed: Bahrain
Posts: 587
Hvad med denne:
Code:
sed 'N;s/\n\*//;P;D;' san.txt

Hilsen,
Tayyab
  #7 (permalink)  
Old 06-12-2006
Registreret Bruger
 

Join Date: Jun 2006
Beliggenhed: Bangalore, Indien
Stillinger: 8

Code:
BEGIN {lastString="";}
{	curStr=$0;
	if (substr(curStr,1,1)=="*") {
		len = length(lastString);
		print substr(lastString,1,len) substr(curStr,2);
	}else{
		print substr(curStr,1)
	}
	lastString = curStr;
}

Sponsorerede links
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 Slukket


Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Regular Expressions ramky79 UNIX for Advanced & Ekspertsøgning Brugere 3 05-21-2008 06:13 PM
Hjælp med regulære udtryk arushunter Shell Programmering og Scripting 13 12-24-2006 12:31 AM
regulære udtryk jack1981 Shell Programmering og Scripting 4 07-12-2006 04:10 PM
regulære udtryk i C + + szzz Programmering 2 10-06-2003 11:33 AM
Regular Expressions AresMedia Shell Programmering og Scripting 1 08-22-2002 04:55 PM



Alle tidspunkter er GMT -4. Den tid er nu 07:06 AM.


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 Indhold Copyright © 1993-2010. Alle rettigheder Reserved.Ad Management by RedTyger

Content Relevant webadresser ved vBSEO 3.2.0