Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
Google Site



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.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 10-25-2005
Registrert bruker
 

Bli Dato: Sep 2004
Sted: Minnesota
Innlegg: 13
Konverter avgrenset til fast lengde

Hei, jeg har for å endre en tabulatordelt fil til en fast lengde fil. For tekstfeltene jeg trenger til venstre rettferdiggjøre og NULL fyll til høyre og for antall felt Jeg må rett rettferdiggjøre og null fyll til venstre. Hvis det er mellomrom mellom ord i et tekstfelt jeg trenger å holde dem som mellomrom. Jeg bruker Korn Shell og AIX. Her er en del av en flat fil som jeg jobber med (det første feltet er tekst og 12 tegn og andre er en rekke 10 tegn) --
Bob Smith <<tab>> 139.90
Kathy Reys <<tab>> -40,50

Her er resultatet at jeg trenger --
Bob Smith 0.000.139,90
Kathy Reys 0000-40.50
Sponsede lenker
  #2 (permalink)  
Old 10-25-2005
Perderabo's Avatar
Unix Daemon
 

Bli Dato: Aug 2001
Beliggenhet: Ashburn, Virginia
Innlegg: 9148
Hva en merkelig måte å håndtere negative tall ...

Code:
#! /usr/bin/ksh
typeset -L13 name
typeset -R10 val2
IFS="<<tab>>"
exec < datafile
while read name val ; do
         val2="0000000000000000"$val
         echo "$name $val2"
done
exit 0

  #3 (permalink)  
Old 10-26-2005
Registrert bruker
 

Bli Dato: Sep 2004
Sted: Minnesota
Innlegg: 13
Fikk meg videre

Takk for det hjelpe, fikk det meg det meste av veien til der jeg trengte. Vet du hvordan du gjør det NULL padding etter strenger i stedet for space padding? Jeg trodde jeg skjønte det med en-Z på skrift, men det ser ikke ut til å virke. Takk igjen for hjelp.
  #4 (permalink)  
Old 10-26-2005
Perderabo's Avatar
Unix Daemon
 

Bli Dato: Aug 2001
Beliggenhet: Ashburn, Virginia
Innlegg: 9148
Sheesh, what a crazy format. ksh bruker strenger som er null avsluttet og dette gjør arbeidet med nuller nesten umulig. Vi kan pad med en erstatning karakter og så oversette alle forekomstene av sunstitute tegnet til nuller som den siste operasjonen.

Code:
#! /usr/bin/ksh
typeset -L13 name2
typeset -R10 val2
PAD="%"
NULLS="${PAD}${PAD}${PAD}${PAD}"
NULLS="${NULLS}${NULLS}${NULLS}${NULLS}"
IFS="<<tab>>"
exec < data
while read name val ; do
        val2="00000000000000"$val
        name2=${name}${NULLS}
        echo "$name2 $val2"
done | tr $PAD "\000"
exit 0

  #5 (permalink)  
Old 10-26-2005
Registrert bruker
 

Bli Dato: Sep 2004
Sted: Minnesota
Innlegg: 13
That's it!

Takk for hjelpen.
  #6 (permalink)  
Old 10-26-2005
Registrert bruker
 

Bli Dato: juli 2005
Innlegg: 137

Code:
ruby -F\011 -nale'print $F[0].ljust(12,0.chr),$F[1].rjust(10,"0")' file

  #7 (permalink)  
Old 10-26-2005
Registrert bruker
 

Bli Dato: Sep 2004
Sted: Minnesota
Innlegg: 13
1 Flere Thing

Jeg trodde jeg hadde regnet ut, men jeg kjører inn i et annet scenario som jeg trenger hjelp med. Vet du hvordan jeg kan fikse dette hvis jeg har ingen data i et felt, <<tab>> <<tab>>? Hva som skjer er at det er bare å gå til neste felt der det er data og bruke det, men jeg trenger den til å bruke tomme feltet. Ikke sikker på om jeg forklarte det bra, så her er et eksempel --
Inndatafilen - (første feltet venstrejustert NULL polstret (10bytes), andre feltet venstrejustert NULL polstret (1 byte) og tredje feltet venstrejustert NULL polstret (10bytes))
Bob Smith <<tab>> <<tab>> Susan Smit
Kathy Reys <<tab>> A <<tab>> Ron Davis

Utdatafilen tiden får --
Bob Smith <<NULL>> Susan Smit
Kathy ReysARon Davis <<NULL>>

Needed utgang --
Bob Smith <<NULL>> <<NULL>> Susan Smit
Kathy ReysARonDavis <<NULL>>

Forhåpentligvis som gir mening, hvis ikke jeg kan prøve å forklare mer.
Takk.
Sponsede lenker
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
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er Av


Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
Hva kommandoen å finne posten lengden av en fast lengde fil? tranq01 UNIX for Dummies Spørsmål og svar 9 12-04-2008 04:04
hvordan du konverterer Fast lengde filen til avgrenset fil. satyam_sat Shell programmering og Skripting 7 04-03-2008 03:41
faste posten lengde george_ Shell programmering og Skripting 16 03-28-2006 06:41
konvertere XML fil inn Tekstfil (fast lengde) ram2s2001 Shell programmering og Skripting 0 11-03-2005 01:28
opprette en fast lengde output fra en variabel lengde skriving r1500 Shell programmering og Skripting 2 12-03-2003 01:09



Alle klokkeslett er GMT -4. Nå er klokken 03:40.


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-2010. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0