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
awk Shell Script feil: "Syntaksfeil:` Split "uventet Herry UNIX for Dummies Spørsmål og svar 2 03-17-2008 11:16
feil under kjør: St9bad_alloc - Å få denne feilmeldingen når du bruker noen konvertering progr sathu_pec Shell programmering og Skripting 1 01-21-2008 02:38
Jeg fikk feil som ... syntaksfeil på linje 1, teletype koti_rama UNIX for Advanced & ekspertbrukere 2 07-07-2007 08:35
Error reading deler feilen ved å installere doelman Sun Solaris 2 02-05-2007 12:21
FEIL: Intern systemfeil: Kan ikke initialisere standard utdatafilen firkus UNIX for Dummies Spørsmål og svar 2 10-25-2005 04:23

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 05-29-2007
Raghuram.P Raghuram.P is offline
Registrert bruker
  
 

Bli Date: Feb 2007
Innlegg: 44
Feil ved bruk sed

Hei,
Jeg har et inndatafilen med følgende innhold


-------------------------------------------------- ------- Kjør Nummer: 1 --------------------------------------- --------------------
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | gang | 05/28/2007 02:19:30 | TEST | 8651
-------------------------------------------------- ------- out_file ------------------------------------------ -----------------
item_id | status_desc | Beskrivelse
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | Completed | 05/28/2007 02:19:33 | TEST | 8651
-------------------------------------------------- ------- Kjør Nummer: 2 --------------------------------------- --------------------
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | gang | 05/28/2007 02:27:25 | TEST | 24745
-------------------------------------------------- ------- out_file ------------------------------------------ -----------------
item_id | status_desc | Beskrivelse
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | Completed | 05/28/2007 02:27:27 | TEST | 24745
-------------------------------------------------- ------- Kjør Nummer: 3 --------------------------------------- --------------------
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | gang | 05/28/2007 02:56:32 | TEST | 5560
-------------------------------------------------- ------- out_file ------------------------------------------ -----------------
item_id | status_desc | Beskrivelse
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | Completed | 05/28/2007 02:56:34 | TEST | 5560
-------------------------------------------------- ------- Kjør Nummer: 4 --------------------------------------- --------------------
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | gang | 05/28/2007 02:57:32 | TEST | 11961
-------------------------------------------------- ------- out_file ------------------------------------------ -----------------
item_id | status_desc | Beskrivelse
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | Completed | 05/28/2007 02:57:33 | TEST | 11961
-------------------------------------------------- ------- Kjør Nummer: 5 --------------------------------------- --------------------
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | gang | 05/28/2007 04:17:31 | TEST | 24685
-------------------------------------------------- ------- out_file ------------------------------------------ -----------------
item_id | status_desc | Beskrivelse
test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt] | Completed | 05/28/2007 04:17:33 | TEST | 24685


Inngang til skriptet vil bli

test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt]

Min jobb er å pakke den siste forekomsten av uttrykket som er fra IP_EXPR | gang TP IP_EXPR | Completed

Jeg prøvde med sed men det gir følgende feil
sed:-E uttrykk # 1, char 40: ekstra tegn etter kommandoen

Følgende er min kode

IP \u003d "test_run-layout test_vaal-i [/ x/TEST/batch/temp/20070528_ip.txt / x/TEST/batch/temp/20070528__op.txt]"
IP_FILE \u003d "test.txt"

Expr \u003d `echo $ IP | sed 's / \ [/ / g' | sed 's / \] / / g' `
echo "expr er: $ (expr)"

Utpakkede \u003d `cat $ IP_FILE | sed 's / \ [/ / g' | sed 's / \] / / g' |sed 's / /! / g' | sed -n "/ $ (expr }/,/${ expr) / p" `

echo "pakkes ut er: $ (utpakkede)"

Kan noen hjelpe meg ut i dette


Raghu
  #2 (permalink)  
Old 05-29-2007
aigles's Avatar
aigles aigles is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: april 2004
Sted: Bordeaux, Frankrike
Innlegg: 1433
Problemet kommer fra den siste sed kommando, fordi $ expr inneholder tegnet /. Løsningen er å bruke et annet tegn enn / for mønsteret skilletegn, § for eksempel.
De to følgende kommandoer er likeverdige.


Code:
$ sed 's/pattern/replacement/flags' file
$ sed 's\§pattern§replacement§flags' file

Skriptet med litt modifikasjoner:

Code:
IP="test_run -layout test_vaal -i [ /x/TEST/batch/temp/20070528_ip.txt /x/TEST/batch/temp/20070528__op.txt]"
IP_FILE="test.txt"

EXPR=`echo $IP | sed 's/[][]//g;s/  */ /g'`
echo "EXPR is : ${EXPR}"

EXTRACTED=`sed 's/[][]//g;s/  */ /g' $IP_FILE | sed -n "\§${EXPR}|Started§,\§${EXPR}|Completed§p" `

echo "EXTRACTED is : ${EXTRACTED}"

Problemet er at alle hendelser som skal vises, ikke bare den siste.

En mulig løsning (som bruker awk)

Code:
IP="test_run -layout test_vaal -i [ /x/TEST/batch/temp/20070528_ip.txt /x/TEST/batch/temp/20070528__op.txt]"
IP_FILE="test.txt"

awk -v ip="$IP" '
   BEGIN {
      gsub(/[][]/, "", ip);
      gsub(/  */, " ", ip);
   }
   {
      gsub(/[][]/, "");
      gsub(/  */, " ");
      if ($0 !~ ip) next;
   }
   /|Started/,/|Completed/ {
      if (/|Started/) count=0;
      line[++count] = $0;
   }
   END {
      for (l=1; l<=count; l++) print line[l];
   }
     ' $IP_FILE

Utdata:

Code:
test_run -layout test_vaal -i /x/TEST/batch/temp/20070528_ip.txt /x/TEST/batch/temp/20070528__op.txt|Started|05/28/2007 04:17:31|TES
T|24685
test_run -layout test_vaal -i /x/TEST/batch/temp/20070528_ip.txt /x/TEST/batch/temp/20070528__op.txt|Completed|05/28/2007 04:17:33|T
EST|24685

Jean-Pierre.
  #3 (permalink)  
Old 05-29-2007
Raghuram.P Raghuram.P is offline
Registrert bruker
  
 

Bli Date: Feb 2007
Innlegg: 44
Hei,
Thanks a lot.
Det begynte
Etter innlegging av det jeg fant ut at / var å skape et problem.
Takk en gang til for ur innganger

Raghuram
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 PÃ¥
Smilefjes er PÃ¥
[IMG] koden PÃ¥
HTML-koden Av
Pingbacks er PÃ¥
Refbacks er PÃ¥




Alle klokkeslett er GMT -4. NÃ¥ er klokken 05:03.


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