The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Konvertere Kolonne værdier til komma delimted enkelt Row nvuradi Shell Programmering og Scripting 5 01-23-2009 01:24 AM
konvertere Regelmæssig decimaler til Pakket decimaler mgirinath Shell Programmering og Scripting 2 09-20-2008 09:27 AM
Omdannelse af Eksponentiel til numeriske i awk-ikke korrekt output ssunda6 Shell Programmering og Scripting 3 09-19-2008 01:36 AM
Konvertere Binary decimal kodede værdier til Ascii Værdier gaur.deepti UNIX for Advanced & Ekspertsøgning Brugere 3 04-02-2008 12:33 PM
Konvertere eksponentielle værdier rleebife Shell Programmering og Scripting 2 08-02-2007 11:59 PM

Reply
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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 07-01-2009
barrypitts barrypitts is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Sted: Dublin, Irelnad
Stillinger: 3
Konvertere Eksponentiel værdier decimaler

Hej,

Jeg har en række store (500 MB) txt filer i følgende format:

Code:
  8.05475136E+05  9.69428147E+05  1 14  2968.00   3419.00     59.00   59 3.4028235E+38 2 w99-100
  8.05464719E+05  9.69435064E+05  1 14  2968.03   3418.50     60.00   60 3.4028235E+38 2 w99-100
  8.05454301E+05  9.69441981E+05  1 14  2968.05   3418.00     61.00   61 3.4028235E+38 2 w99-100
  8.05443884E+05  9.69448898E+05  1 14  2968.08   3417.50     62.00   62 3.4028235E+38 2 w99-100
  8.05433466E+05  9.69455815E+05  1 14  2968.11   3417.00     63.00   63 3.4028235E+38 2 w99-100
  8.05423048E+05  9.69462733E+05  1 14  2968.14   3416.50     64.00   64 3.4028235E+38 2 w99-100
  8.05412631E+05  9.69469650E+05  1 14  2968.16   3416.00     65.00   65 3.4028235E+38 2 w99-100
  8.05402213E+05  9.69476567E+05  1 14  2968.19   3415.50     66.00   66 3.4028235E+38 2 w99-100
  8.05391795E+05  9.69483484E+05  1 14  2968.22   3415.00     67.00   67 3.4028235E+38 2 w99-100
  8.05381378E+05  9.69490401E+05  1 14  2968.24   3414.50     68.00   68 3.4028235E+38 2 w99-100
  8.05370960E+05  9.69497318E+05  1 14  2968.27   3414.00     69.00   69 3.4028235E+38 2 w99-100
Jeg vil gerne toprint alle kolonner men konvertere de første to kolonner til decimaler f.eks 8.05370960E 05 til 805370.960
Noget jeg har gjort, har rundet de numre til nærmeste hele tal f.eks 8.05370960E 05-805371

nogen form for hjælp på dette ville være meget værdsat.

Sidst redigeret af barrypitts; 07-01-2009 på 11:14 AM..
  #2 (permalink)  
Old 07-01-2009
durden_tyler's Avatar
durden_tyler durden_tyler is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Apr 2009
Posts: 521
Citat:
Oprindeligt Indsendt af barrypitts View Post
...
Jeg vil gerne toprint alle kolonner men konvertere de første to kolonner til decimaler f.eks 8.05370960E 05 til 805370.960
...
Hvis miste det tomme rum formateringen er ok med dig, så en mulighed kunne være:

Code:
$
$ awk '{printf("%.3f %.3f %s %s %s %s %s %s %s %s %s\n",$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11)}' data.txt
805475.136 969428.147 1 14 2968.00 3419.00 59.00 59 3.4028235E+38 2 w99-100
805464.719 969435.064 1 14 2968.03 3418.50 60.00 60 3.4028235E+38 2 w99-100
805454.301 969441.981 1 14 2968.05 3418.00 61.00 61 3.4028235E+38 2 w99-100
805443.884 969448.898 1 14 2968.08 3417.50 62.00 62 3.4028235E+38 2 w99-100
805433.466 969455.815 1 14 2968.11 3417.00 63.00 63 3.4028235E+38 2 w99-100
805423.048 969462.733 1 14 2968.14 3416.50 64.00 64 3.4028235E+38 2 w99-100
805412.631 969469.650 1 14 2968.16 3416.00 65.00 65 3.4028235E+38 2 w99-100
805402.213 969476.567 1 14 2968.19 3415.50 66.00 66 3.4028235E+38 2 w99-100
805391.795 969483.484 1 14 2968.22 3415.00 67.00 67 3.4028235E+38 2 w99-100
805381.378 969490.401 1 14 2968.24 3414.50 68.00 68 3.4028235E+38 2 w99-100
805370.960 969497.318 1 14 2968.27 3414.00 69.00 69 3.4028235E+38 2 w99-100
$
$
tyler_durden
  #3 (permalink)  
Old 07-01-2009
barrypitts barrypitts is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Sted: Dublin, Irelnad
Stillinger: 3
Cheers @ tyler_durden for hurtig reaktion.
Jeg har gennemgået, hvad jeg har anmodet om at gøre, og regnede med, at jeg virkelig behøver kun kolonner $ 1, $ 2, og $ 5, som alle er samme længde, så mister det tomme rum formateringen er okay på dette punkt.

Men at holde rummet formatering er afgørende for de fleste ansøgninger.

Hvis nogen ved, hvordan dette kan opnås Jeg ville være interesseret i at høre det.

Skål,
Barry
  #4 (permalink)  
Old 07-01-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.300
Citat:
Oprindeligt Indsendt af barrypitts View Post
Men at holde rummet formatering er afgørende for de fleste ansøgninger.

Hvis nogen ved, hvordan dette kan opnås Jeg ville være interesseret i at høre det.

Skål,
Barry
Prøv dette:
Code:
awk -F" |:" '
{$3=sprintf("%.3f", $3)}
{$5=sprintf("%.3f", $5)}
1' file
  #5 (permalink)  
Old 07-01-2009
barrypitts barrypitts is offline
Registreret Bruger
  
 

Join Date: Jul 2009
Sted: Dublin, Irelnad
Stillinger: 3
Citat:
Oprindeligt Indsendt af Franklin52 View Post
Prøv dette:
Code:
awk -F" |:" '
{$3=sprintf("%.3f", $3)}
{$5=sprintf("%.3f", $5)}
1' file
Det er perfekt @ Franklin52
Good job

Mange tak @ Franklin52 og @ tyler_durden!
Barry
Reply

Bogmærker

Tags
awk, konvertere, numerisk

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er PÃ¥
Smilies er PÃ¥
[IMG] koden er PÃ¥
HTML-koden er Slukket
Trackbacks er PÃ¥
Pingbacks er PÃ¥
Refbacks er PÃ¥




Alle tidspunkter er GMT -4. Den tid er nu 09:38 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0