The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
Pak een kleinere en grotere waarde Raynon Programmeren en Shell Scripting 3 10-11-2007 07:23
Pak de lijn met behulp van awk cdfd123 Programmeren en Shell Scripting 1 10-10-2007 09:21
zoeken en ophalen van gegevens uit een enorm bestand ting123 UNIX voor Dummies Questions & Answers 1 06-06-2006 10:41 PM
Hoe aaneenschakelen twee snaren of meerdere strings in een string in de B-schaal? fontana Programmeren en Shell Scripting 2 08-26-2005 12:58
Hoe Pak het laatste bestand n9ninchd UNIX voor Dummies Questions & Answers 1 05-10-2001 05:31 PM

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-04-2006
Raynon Raynon is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Locatie: SG
Posts: 350
Hoe pak gegevens tussen 2 strings?

Hi All,
Ik heb een tekst bestand hieronder. Hoe kan ik grijp alle gegevens tussen "05T00NPQSMR1" en "****" met behulp van awk? Pls er nota van dat de tekst lijnen kan niet worden vastgesteld en de tekst is dynamisch. Pls help. Bedankt

Hieronder is mijn code waar $ LOT_SUFFIX is mijn shell variabele.

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

Gegevens:

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


Verwachte output:
************************************************** ********
** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Steekproef \u003d 100 0
** TasM \u003d MFMM xx xx xx
** Italiaanse TASC MFMC \u003d xx xx xx
************************************
xxxx
yyy
zzz
blah
blah
************************************
  #2 (permalink)  
Old 10-04-2006
vino's Avatar
vino vino is offline Forum Staff  
Supporter (in vino veritas)
  
 

Join Date: Feb 2005
Locatie: Bangalore, India
Berichten: 2.798
Probeer deze.

Code:
sed -n -e '/05T00NPQSMR1/,/^\**/p' input.txt

Dit anders.

Code:
sed -n -e '/05T00NPQSMR1/,/^[*]*/p' input.txt

Op het moment, I dont hebben toegang tot een Unix-terminal om dit te testen.
  #3 (permalink)  
Old 10-04-2006
Raynon Raynon is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Locatie: SG
Posts: 350
Citaat:
Oorspronkelijk geplaatst door vino
Probeer deze.

Code:
sed -n -e '/05T00NPQSMR1/,/^\**/p' input.txt


Dit anders.

Code:
sed -n -e '/05T00NPQSMR1/,/^[*]*/p' input.txt

Op het moment, I dont hebben toegang tot een Unix-terminal om dit te testen.
Hoi, de output lijkt verre van wat ik wilde. Zie hieronder.

Output:
** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
  #4 (permalink)  
Old 10-04-2006
ghostdog74 ghostdog74 is offline Forum Advisor  
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Berichten: 2555
Alternatief in Python:

Ingang:
blah
xxx
yyy
************************************************** ********
** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Steekproef \u003d 100 0
** TasM \u003d MFMM xx xx xx
** Italiaanse TASC MFMC \u003d xx xx xx
************************************
xxxx
yyy
zzz
blah
blah
************************************************** ********
** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Steekproef \u003d 100 0
** TasM \u003d MFMM xx xx xx
** Italiaanse TASC MFMC \u003d 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]:])


Output:
************************************************** ********
** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Steekproef \u003d 100 0
** TasM \u003d MFMM xx xx xx
** Italiaanse TASC MFMC \u003d xx xx xx
************************************
xxxx
yyy
zzz
blah
blah

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

Laatst gewijzigd door ghostdog74; op 10.05.2006 04:34..
  #5 (permalink)  
Old 10-04-2006
vish_indian vish_indian is offline
Geregistreerde gebruiker
  
 

Join Date: Jun 2006
Locatie: New Delhi, India
Posts: 92

Code:
awk -v pat1="05T00NPQSMR1" -v pat2="^[*]{3,}" '$0~pat1,$0~pat2' awtest

Als u gegevens alleen tot "** Italiaanse 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  
Geregistreerde gebruiker
  
 

Join Datum: maart 2006
Locatie: Bangalore, India
Posts: 1.398
Citaat:
blah
************************************************** ********
** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006

Code:
sed -n '/05T00NPQSMR1/,/*\{58\}/p' input

waar 58 is de lengte van bovenstaande sterretje lijn
  #7 (permalink)  
Old 10-05-2006
Raynon Raynon is offline
Geregistreerde gebruiker
  
 

Join Date: Sep 2006
Locatie: SG
Posts: 350
Hi Anbu,
Onderstaande code:
awk-v pat1 \u003d "05T00NPQSMR1"-v pat2 \u003d"^[*]{ 3,) "" $ 0 ~ pat1, $ 0 ~ pat2 'awtest

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

Beide resultaten zijn:
** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Steekproef \u003d 100 0
** TasM \u003d MFMM xx xx xx
** Italiaanse TASC MFMC \u003d xx xx xx
************************************
xxxx
yyy
zzz
blah
blah
************************************************** ********
** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Steekproef \u003d 100 0
** TasM \u003d MFMM xx xx xx
** Italiaanse TASC MFMC \u003d xx xx xx
************************************


Maar wat ik nodig heb is:

** 05T00NPQSMR1 P98P2234 dinsdag 10 03 09:57:24 2006
** Dibid \u003d 1166 testerid \u003d 6
** Steekproef \u003d 100 0
** TasM \u003d MFMM xx xx xx
** Italiaanse TASC MFMC \u003d xx xx xx
************************************
xxxx
yyy
zzz
blah
blah


Pls help. Bedankt

Laatst gewijzigd door Raynon; op 10.05.2006 04:21..
Closed Thread

Bladwijzers

Labels
regex, reguliere expressies

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 08:12.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0