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
SSH problemer ysk UNIX for Advanced & ekspertbrukere 1 07-19-2007 06:16
Problemer AIX og SAN. fjgonzalez AIX 4 07-18-2007 06:15
Problemer med Siste By_Jam UNIX for Advanced & ekspertbrukere 3 09-29-2006 04:12
Få problemer vivekshankar UNIX for Dummies Spørsmål og svar 3 05-21-2005 01:26
'gjør' problemer (compliation problemer?) xyyz UNIX for Advanced & ekspertbrukere 5 11-05-2001 10:47

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 04-28-2008
Skorpionen scorpio is offline
Registrert bruker
  
 

Bli Dato: april 2008
Innlegg: 41
Problemer med kutt

Hei alle,


0680046755000011 3040249 3005930 60180GPRS4Samsung_SGH_Z500


Dette er formatet for min loggfilen og parametere for loggfilen er som

• 10 første tegnene: MSISDN
• 6 neste tegn: Hour
• 18 neste tegn: ID SA Source
• 18 neste tegn: ID SA Destinasjon


Jeg har 11 whitespaces i mellom første og andre colums.I må kutte fitst 10 char neste 6 char og neste 18 tegn (inkludert mellomrom). og jeg prøvde follwing i min kode

MSISDN \u003d `echo $ data | cut-c1-10`
HOUR \u003d `echo $ data | cut-C11-16`
ID_SA_SOURCE \u003d `echo $ data | cut-c17-35`
ID_SA_DEST \u003d `echo $ data | cut-c36-54`


Men becos av whitespaces er det ikke kutte riktig .. kan noen foreslå alternativer

Thnks
  #2 (permalink)  
Old 04-28-2008
namishtiwari namishtiwari is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Aug 2007
Beliggenhet: Bangalore
Innlegg: 377
Sitat:
Originally Posted by Skorpionen View Post
Hei alle,


0680046755000011 3040249 3005930 60180GPRS4Samsung_SGH_Z500


Dette er formatet for min loggfilen og parametere for loggfilen er som

• 10 første tegnene: MSISDN
• 6 neste tegn: Hour
• 18 neste tegn: ID SA Source
• 18 neste tegn: ID SA Destinasjon


Jeg har 11 whitespaces i mellom første og andre colums.I må kutte fitst 10 char neste 6 char og neste 18 tegn (inkludert mellomrom). og jeg prøvde follwing i min kode

MSISDN \u003d `echo $ data | cut-c1-10`
HOUR \u003d `echo $ data | cut-C11-16`
ID_SA_SOURCE \u003d `echo $ data | cut-c17-35`
ID_SA_DEST \u003d `echo $ data | cut-c36-54`


Men becos av whitespaces er det ikke kutte riktig .. kan noen foreslå alternativer

Thnks
Reduser først mellomrom mellom loggfildata med kommandoen tr

Code:
HOUR=`echo $data | tr -s " " |cut -c11-16`

gi en prøve til denne.
  #3 (permalink)  
Old 04-28-2008
Skorpionen scorpio is offline
Registrert bruker
  
 

Bli Dato: april 2008
Innlegg: 41
Hei
Takk for svar

Men jeg skrånende klippe min whitespaces fra loggfiler. Jeg må ta det også ..
becos parametere er satt som
• 10 første tegnene: MSISDN
• 6 neste tegn: Hour
• 18 neste tegn: ID SA Source
• 18 neste tegn: ID SA Destinasjon
Dette tegn inkludert mellomrom også
  #4 (permalink)  
Old 04-28-2008
namishtiwari namishtiwari is offline Forum Advisor  
Registrert bruker
  
 

Bli Dato: Aug 2007
Beliggenhet: Bangalore
Innlegg: 377
Sitat:
Originally Posted by Skorpionen View Post
Hei
Takk for svar

Men jeg skrånende klippe min whitespaces fra loggfiler. Jeg må ta det også ..
becos parametere er satt som
• 10 første tegnene: MSISDN
• 6 neste tegn: Hour
• 18 neste tegn: ID SA Source
• 18 neste tegn: ID SA Destinasjon
Dette tegn inkludert mellomrom også

Code:
id=`echo 0680046755000011 3040249 3005930 60180GPRS4Samsung_SGH_Z500 | tr -s " " |cut -c17-35`
output is --- 3040249 3005930 60

  #5 (permalink)  
Old 04-28-2008
Skorpionen scorpio is offline
Registrert bruker
  
 

Bli Dato: april 2008
Innlegg: 41
Hei,

Egentlig loggfilen som 0608166896000001 i mitt første kolonnen 11 whitespaces og 3001339 i mitt andre kolonnen (3001339) og deretter 11 whitespaces og
3204235 i mitt tredje coumn.
...

Men mens du leser linje for linje bruke følgende kode

mens du leser data
gjøre
ekkodata $ data
ID_SA_SOURCE \u003d `echo $ data | cut-c17-35`
echo ID_SA_SOURCE $ ID_SA_SOURCE
Ferdig <$ TRACKING_LOGDIR / $ listdata


Jeg er heller ikke den 11 mellomrom i "data"-variabelen i stedet for jeg får bare en plass .. jeg ønsker 11whtespaces først og 3001339 Verdien på min ID_SA_SOURCE variabel ....

Kan du pleasse sjekk denne
  #6 (permalink)  
Old 04-28-2008
æra era is offline Forum Advisor  
Herder av Useless Cats (På Sabbatical)
  
 

Bli Date: Mar 2008
Sted: / det / er / bare / bin / sh
Innlegg: 3652
Du må riktig Sitat variablene dine når du echo dem, ellers skallet vil klippe mellomrom. Jeg fraråder å bruke ekko i det hele tatt, skjønt.

Men her ser du hvordan du Sitat riktig. For å være litt på den sikre siden jeg også zappe IFS; Jeg tror ikke det er strengt nødvendig her, men det er en teknikk som du bør være klar over.


Code:
OLDIFS=$IFS
IFS='
' # just a newline, in single quotes
while read data
do
  MSISDN="`echo "$data" | cut -c1-10`"
  HOUR="`echo "$data" | cut -c11-16`"
  ID_SA_SOURCE="`echo "$data" | cut -c17-35`"
  ID_SA_DEST="`echo "$data" | cut -c36-54`"
done < $TRACKING_LOGDIR/$listdata
IFS=$OLDIFS

Etter som dette er unnagjort, hvor om noe sånt?


Code:
awk '{ OFS=":"; print substr($0, 1, 10), substr($0, 11, 16),
    substr($0, 17, 35), substr($0, 17, 35) }' $TRACKING_LOGDIR/$listdata |
while IFS=: read MSISDN HOUR ID_SA_SOURCE ID_SA_DEST; do
  echo "'$HOUR': All your '$ID_SA_SOURCE' are '$ID_SA_DEST' to '$MSISDN'"
done

  #7 (permalink)  
Old 04-28-2008
Skorpionen scorpio is offline
Registrert bruker
  
 

Bli Dato: april 2008
Innlegg: 41
Hei Alle,

Jeg prøvde det første sine arbeider Takk til alle
Closed Thread

Hugseliste

Tags
awk, awk trim, trim, trim awk

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 10:30.


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