The UNIX and Linux Forums  
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.

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
Grab en mindre og større verdi Raynon Shell programmering og Skripting 3 10-11-2007 06:23
grip linjen bruke awk cdfd123 Shell programmering og Skripting 1 10-10-2007 08:21
søk og hente data fra en stor fil ting123 UNIX for Dummies Spørsmål og svar 1 06-06-2006 09:41
Hvordan sammen to strenger eller flere strenger i en streng i B-shell? Fontana Shell programmering og Skripting 2 08-26-2005 11:58
Hvordan Grip den siste filen n9ninchd UNIX for Dummies Spørsmål og svar 1 05-10-2001 04:31

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 10-04-2006
Raynon Raynon is offline
Registrert bruker
  
 

Bli Dato: Sep 2006
Sted: SG
Innlegg: 350
Hvordan hente data mellom 2 strenger?

Hei Alle,
Jeg har en tekstfil nedenfor. Hvordan får jeg tak i alle data mellom "05T00NPQSMR1" og "****" bruke awk? Pls oppmerksom på at tekstlinjer kan ikke faste og tekstinnholdet er dynamisk. Pls hjelpe. Takk

Her er min kode der $ LOT_SUFFIX er min shell variabel.

awk'/'"$ LOT_SUFFIX "'/,/ blah / '$ nfile_selected

Data Gitt:

blah
xxx
yyy
************************************************** ********
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************
xxxx
yyy
zzz
blah
blah
************************************************** ********
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************


Forventet utdata:
************************************************** ********
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************
xxxx
yyy
zzz
blah
blah
************************************
  #2 (permalink)  
Old 10-04-2006
vino's Avatar
Vino vino is offline Forum Staff  
Tilhenger (i Vino Veritas)
  
 

Bli Date: Feb 2005
Beliggenhet: Bangalore, India
Innlegg: 2798
Prøv dette.
Code:
sed -n -e '/05T00NPQSMR1/,/^\**/p' input.txt
Else dette.
Code:
sed -n -e '/05T00NPQSMR1/,/^[*]*/p' input.txt
I det øyeblikk, jeg ikke har tilgang til en UNIX-terminal å teste dette.
  #3 (permalink)  
Old 10-04-2006
Raynon Raynon is offline
Registrert bruker
  
 

Bli Dato: Sep 2006
Sted: SG
Innlegg: 350
Sitat:
Originally Posted by Vino
Prøv dette.
Code:
sed -n -e '/05T00NPQSMR1/,/^\**/p' input.txt

Else dette.
Code:
sed -n -e '/05T00NPQSMR1/,/^[*]*/p' input.txt
I det øyeblikk, jeg ikke har tilgang til en UNIX-terminal å teste dette.
Hei, utdatafilen synes langt fra hva jeg ville. Se nedenfor.

Utdata:
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
  #4 (permalink)  
Old 10-04-2006
ghostdog74 ghostdog74 is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Sep 2006
Innlegg: 2519
Alternativ i Python:

Inngang:
blah
xxx
yyy
************************************************** ********
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************
xxxx
yyy
zzz
blah
blah
************************************************** ********
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************
xxxasdfljsdlfx
yyy; slkfd; s
zzzsdklfjsd
blasdflksdjh
blajaspofkspodf



Code:
number = []
all = open("test.txt").readlines()
for num,line in enumerate(all):
 	line = line.strip()
 	if "*" * 58 in line:
 		number.append(num)
 

for i in range(len(number)):
 	try:
 		print ''.join(all[ number[i]:number[i+1] ] )
 	except:
 		print ''.join(all[number[i]:])

Utdata:
************************************************** ********
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************
xxxx
yyy
zzz
blah
blah

************************************************** ********
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************
xxxasdfljsdlfx
yyy; slkfd; s
zzzsdklfjsd
blasdflksdjh
blajaspofkspodf

Sist endret av ghostdog74; 10-05-2006 på 03:34..
  #5 (permalink)  
Old 10-04-2006
vish_indian vish_indian is offline
Registrert bruker
  
 

Bli Dato: juni 2006
Beliggenhet: Delhi, India
Innlegg: 92
Code:
awk -v pat1="05T00NPQSMR1" -v pat2="^[*]{3,}" '$0~pat1,$0~pat2' awtest
Hvis du trenger bare data till "** tasC"

Code:
awk -v pat1="05T00NPQSMR1" -v pat2="^** tasC" '$0~pat1,$0~pat2' awtest
  #6 (permalink)  
Old 10-04-2006
anbu23 anbu23 is offline Forum Advisor  
Registrert bruker
  
 

Bli Date: Mar 2006
Beliggenhet: Bangalore, India
Innlegg: 1398
Sitat:
blah
************************************************** ********
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
Code:
sed -n '/05T00NPQSMR1/,/*\{58\}/p' input
hvor 58 er lengden ovenfor stjerne linje
  #7 (permalink)  
Old 10-05-2006
Raynon Raynon is offline
Registrert bruker
  
 

Bli Dato: Sep 2006
Sted: SG
Innlegg: 350
Hi Anbu,
Nedenfor kode:
awk-v pat1 \u003d "05T00NPQSMR1"-v pat2 \u003d"^[*]{ 3,) "" $ 0 ~ pat1, $ 0 ~ pat2 'awtest

& Vish,
Nedenfor kode:
sed -n '/ 05T00NPQSMR1 /, / * \ (58 \) / p input

Begge utganger er:
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************
xxxx
yyy
zzz
blah
blah
************************************************** ********
** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************


Men det jeg trenger er:

** 05T00NPQSMR1 P98P2234 tirsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Sample \u003d 100 0
** TasM \u003d MFMM xx xx xx
** TasC \u003d MFMC xx xx xx
************************************
xxxx
yyy
zzz
blah
blah


Pls hjelpe. Takk

Sist endret av Raynon; 10-05-2006 på 03:21..
Closed Thread

Hugseliste

Tags
regex, regeluttrykk

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 11:04.


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