The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
sammenslåing av to filer vakharia Mahesh Shell programmering og Skripting 7 09-15-2008 01:32
Glidelåskjøring arrays jakSun8 Shell programmering og Skripting 4 07-02-2008 12:13
Glidelåskjøring to filer venommaker UNIX for Dummies Spørsmål og svar 4 01-10-2008 08:15
Glidelåskjøring info Manan Shell programmering og Skripting 3 05-20-2006 08:51
Glidelåskjøring Hjelp kumarc Shell programmering og Skripting 3 05-04-2006 03:24

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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 01-05-2009
ssachins ssachins is offline
Registrert bruker
  
 

Bli Date: Jan 2009
Innlegg: 29
Sammenslåing av rader

Hei folkens,

Ønsker alle en veldig Godt Nytt År!.

Takk på forhånd.

Jeg vil lese en fil og flette radene som har '\ n' i den.
Radene kunne> 50000 bytes. Skriptet skal slå sammen alle radene til neste rad begynner med ordet 'Type |.
ex.
Type | Billettservice | TradeID | 42224A | SystemID | DDDD61266 | SourceSystem | RMS | Version | 5 | LatestVersionYN | Y | Counterpa rty | OB | DBLegalEntity | London | Notes | cal events lagt | selger | DHX | LastUpdated | DEC 2008 18:31 : 40 | Action | EXP | DealCaptureSystem | Sales | CustomerSourceSystem | RMS | Kunden | AUGS | ActionEffectiveDa te | DEC 2008 00:00:00 | BookingLocation | London | EnteredBy | GONU | MarkupAmt | 100 | MarkupCcy | KEX | PremiumCurrency | EUR | Premi umAmount | 000 | PremiumDate | DEC 2008 | PremiumHasPaidYN | N | BookingDetails | 9000/mihl
Kundekommentarer selger KEZUSD
st ref 1.3724
Utnyttes Sele er på ST
52 Sele, starter


Type | FxDiscreteDNT | TradeID | SSA32553H | SystemID | GGT04481 | SourceSystem | RMS | SourceSystemBook | OT | Bok | OT | BookBranchParent | Go | Version | 8 | LatestVersionYN | Y | motparten | DOB | Status | KnockedOut | IsLiveYN | N | DBLega lEntity | London | LastUpdated | Jan 2009 00:26:35 | Action | KnockedOut | CounterpartySourcesystem | RMS | TradeDate | JUL 2006 | ProductID | KKI99106 | StructureID | DDS32553 | DealCaptureSystem | RMS | CustomerSourceSystem | RMS | Customer | ESL | PricingSite | Tilvalg | UnderCurrency1 | JPY | AccCurrency1 | US | UpBarrier1 | 1.5 | LowBarrier1 | 1 | UnderCurrenc Y2 | JPY | AccCurrency2 | CH | UpBarrier2 | 1,64 | LowBarrier2 | 1,49 | UnderCurrency3 | EUR | AccCurrency3 | JPY | UpBarrie R3 | 175 | LowBarrier3 | 105 | LastFixed

Den outout bør
Under posten skal være på én linje.

Type | Billettservice | TradeID | 42224A | SystemID | DDDD61266 | SourceSystem | RMS | Version | 5 | LatestVersionYN | Y | Counterpa rty | OB | DBLegalEntity | London | Notes | cal events lagt | selger | DHX | LastUpdated | DEC 2008 18:31 : 40 | Action | EXP | DealCaptureSystem | Sales | CustomerSourceSystem | RMS | Kunden | AUGS | ActionEffectiveDa te | DEC 2008 00:00:00 | BookingLocation | London | EnteredBy | GONU | MarkupAmt | 100 | MarkupCcy | KEX | PremiumCurrency | EUR | Premi umAmount | 000 | PremiumDate | DEC 2008 | PremiumHasPaidYN | N | BookingDetails | 9000/mihl Kundekommentarer selger KEZUSD st ref 1.3724 utnyttes Sele er ved ST 52 Sele, starter

Type | FxDiscreteDNT | TradeID | SSA32553H | SystemID | GGT04481 | SourceSystem | RMS | Version | 8 | LatestVersionYN | Y | motparten | DOB | DBLegalEntity | London | LastUpdated | Jan 2009 00:26:35 | Action | KnockedOut | DealCaptureSystem | RMS | CustomerSourceSystem | RMS | Kunden | ESL | PricingSite | O ption | UnderCurrency1 | JPY | AccCurrency1 | US | UnderCurrency3 | EUR | AccCurrency3 | JPY | UpBarrier3 | 175 | LowBarri er3 | 105 | LastFixed

Jeg prøvde å bruke nedenfor nevnte script men awk ikke kan håndtere> 20000 bytes. Dessuten bruker String som LINE_BREAK 'for identifikasjon rader har fusjonert.

FileName \u003d LINE_TEST.TXT
FileName1 \u003d O_LINE_TEST.TXT
OUTPUT_FILE \u003d OUTPUT_WITHOUT_LINE_BREAK.tmp
Hvis [[-e $ filnavn]]; deretter
sed "s /% / prosentandel / g" $ FileName> $ FileName1
# # Slik fjerner du "%" som "awk 'ikke kan håndtere den.

/ usr/xpg4/bin/awk 'NR \u003d\u003d 1 (printf $ 0; neste)
! / ^ TradeType / (printf "LINE_BREAK" $ 0; neste)
(printf "\ n" $ 0)
END (print "")
'$ FileName1> $ OUTPUT_FILE
fi
  #2 (permalink)  
Old 01-05-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
stoffmisbruker
  
 

Bli Date: Jan 2007
Beliggenhet: Варна, България / Milano, Italia
Innlegg: 2926
Prøv med nawk:


Code:
nawk '$1=$1' FS='\n' RS= ORS='\n\n' infile

  #3 (permalink)  
Old 01-05-2009
ssachins ssachins is offline
Registrert bruker
  
 

Bli Date: Jan 2009
Innlegg: 29
Sammenslåing av rader - feil

Jeg får nedenfor nevnte feil:

13460 Segmentering Fault (coredump). Er det knyttet Memory?

Den faktiske filstørrelsen er: 95532469 bytes.
  #4 (permalink)  
Old 01-05-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
stoffmisbruker
  
 

Bli Date: Jan 2007
Beliggenhet: Варна, България / Milano, Italia
Innlegg: 2926
Forsøk med Perl:


Code:
perl -00ple'tr.\n. .' infile

  #5 (permalink)  
Old 01-05-2009
ssachins ssachins is offline
Registrert bruker
  
 

Bli Date: Jan 2009
Innlegg: 29
Identifiser

Hvordan identfy hvilke linjer ble fusjonert under behandlingen av filen?
  #6 (permalink)  
Old 01-05-2009
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
stoffmisbruker
  
 

Bli Date: Jan 2007
Beliggenhet: Варна, България / Milano, Italia
Innlegg: 2926
Sitat:
Originally Posted by ssachins View Post
Hvordan identfy hvilke linjer ble fusjonert under behandlingen av filen?
Bare legge litt streng til å identifisere dem:


Code:
perl -00ple'tr.\n. . and $_.=" __FIXED__"' infile

  #7 (permalink)  
Old 01-06-2009
frostmourn frostmourn is offline
Registrert bruker
  
 

Bli Date: Jan 2009
Innlegg: 8

Code:
sed '/^Type/{:a;N;/\nType/!{s/\n/ /;ba};s/\n/&&/}'

Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 08:09.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0