The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



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
Extrahera register med unika fält från en fast bredd textfilformat sitney Shell-programmering och Skript 8 02-10-2008 03:18
utvinna områden prvnrk Shell-programmering och Skript 2 10-08-2007 04:39
Extrahera information från textfälten. spindoctor UNIX for Dummies Frågor & Svar 24 06-09-2007 02:17
Ta bort vissa områden från en fil sendhilmani123 Shell-programmering och Skript 1 05-02-2006 03:01
Extrahera fält från en produktion 8-) csaha Shell-programmering och Skript 6 01-20-2006 08:37

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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 07-22-2008
gugs gugs is offline
Registered User
  
 

Join Date: Jul 2008
Inlägg: 44
Ta bort LF och utvinna två områden

Jag behöver lite hjälp, Jag skriver ett skript i bash.

Jag vill göra två saker:
1 /. Jag vill ersätta LF i slutet av RFH Ø ¸ MQSTR ¸ så jag kan bearbeta filen post med spela in en stund loop.

2 /. Jag vill extrahera två fält från varje post skall identifieras med flikar <RequestID> </ RequestID> och <error:Info> </ fel: Info> från provet uppgifter nedan.

I min fil som visas nedan, varje post i filen börjar med: RFH Ø ¸ MQSTR ¸ följt LF följt av data:

RFH Ø ¸ MQSTR ¸
<usr> <SourceID> SYSA </ sourceid> <DSType> SPIResults </ DSType> <Source> SYSA </ Source> <destination
ning> PortalSystem </ Destination> <RequestID> 1000005 </ RequestID> <TargetTablePrimaryKey> 5 </
TargetTablePrimaryKey> <Replay> <Original/> <Current> <DestinationSystemID> SYSA </ DestinationSy
stemID> </ Aktuellt> </ Replay> <TargetURI> SYSB </ TargetURI> <DestinationID> SYSA <
/ DestinationID> </ usr> <mcd> <Msd> xmlns </ MSD> </ Mcd> <? Xml version \u003d "1.0"
encoding \u003d "UTF-8"?> <error:Code> 001 </ fel: Code> <error:Info> Ett fel uppstod samtidigt försöker
att behandla ett routing begäran, se bifogad undantag listor för
detaljer </ fel: Info> <error:OriginalExceptionData> </ mm: MessageMetadata> <mf:MessageFormat SchemaVersion\u003d"1.0"> <mf:MessageType> <msg:Type> SPIResults </ msg: Typ> <msg:Version> 1,200 </ msg: Version>
RFH Ø ¸ MQSTR ¸
<usr> <SourceID> SYSA </ sourceid> <DSType> SPIResults </ DSType> <Source> SYSA </ Source> <destination
ning> PortalSystem </ Destination> <RequestID> 1000005 </ RequestID> <TargetTablePrimaryKey> 5 </
TargetTablePrimaryKey> <Replay> <Original/> <Current> <DestinationSystemID> SYSA </ DestinationSy
stemID> </ Aktuellt> </ Replay> <TargetURI> SYSB </ TargetURI> <DestinationID> SYSA <
/ DestinationID> </ usr> <mcd> <Msd> xmlns </ MSD> </ Mcd> <? Xml version \u003d "1.0"
encoding \u003d "UTF-8"?> <error:Info> Ett fel uppstod samtidigt försöka behandla en routing begäran
se bifogad undantag listor för detaljer </ fel: Info> <error:OriginalExceptionData>
RFH Ø ¸ MQSTR ¸
<usr> <SourceID> SYSA </ sourceid> <DSType> SPIResults </ DSType> <Source> SYSA </ Source> <destination
ning> PortalSystem </ Destination> <RequestID> 1000005 </ RequestID> <TargetTablePrimaryKey> 5 </
TargetTablePrimaryKey> <Replay> <Original/> <Current> <DestinationSystemID> SYSA </ DestinationSy
stemID> </ Aktuellt> </ Replay> <TargetURI> SYSB </ TargetURI> <DestinationID> SYSA <
/ DestinationID> </ usr> <mcd> <Msd> xmlns </ MSD> </ Mcd> <? Xml version \u003d "1.0"
encoding \u003d "UTF-8"?> <error:Info> Ett fel uppstod samtidigt försöka behandla en routing begäran
se bifogad undantag listor för detaljer </ fel: Info> </ mm: MessageMetadata> <mf:MessageFormat SchemaVersion\u003d"1.0"> <mf:MessageType> <msg:Type> SPIResults </ msg: Typ>
  #2 (permalänk)  
Old 07-22-2008
zaxxon's Avatar
zaxxon zaxxon is online now Forum Staff  
Moderator
  
 

Join Date: Sep 2007
Ort: Tyskland
Inlägg: 2296
1:a: Använd [code] [/ code] taggar!

Lite långa, kanske någon kommer upp en kortare version:

Kod:
cat infile |\
tr -d '\n' |\
sed 's/[^^]RFH/\nRFH/g' |\
sed 's!.*<RequestID>\([^<]*\)<\/RequestID>.*<error:Info>\([^<]*\)<\/error:Info>.*!\1 \2!g'

Båda dessa åtgärder kombineras. Är du osäker på om du behöver slinga för det andra steget, om så är fallet, finns det ingen anledning att slinga, som sed ta en bäck och kontroller varje linje ingång. Om du bara vill steg 1 dock bara sluta efter den 1: a raden sed dvs. vidare till en ny fil eller vad som helst.

Senast redigerad av zaxxon; 07-22-2008 vid 10:38.. Anledning: Lägga meddelande att använda kod-taggar
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 03:28.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0