![]() |
Hei og Velkommen fra USA til UNIX og Linux Forums! Takk for besøket og Delta i vårt globale samfunn.
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
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 ************************************ |
|
||||
|
Sitat:
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 |
|
||||
|
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.. |
|
||||
|
Sitat:
Code:
sed -n '/05T00NPQSMR1/,/*\{58\}/p' input
|
|
||||
|
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.. |
![]() |
| Hugseliste |
| Tags |
| regex, regeluttrykk |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|