The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Konvertering Kolumn värden kommatecken delimted enda rad nvuradi Shell-programmering och Skript 5 01-23-2009 01:24
omvandla Regelbundna decimaler till Packat decimaler mgirinath Shell-programmering och Skript 2 09-20-2008 10:27
Omvandling av Exponential att numeriskt i awk-inte korrekt output ssunda6 Shell-programmering och Skript 3 09-19-2008 02:36
Konvertering Binary decimalsystem kodade värden till Ascii Värderingar gaur.deepti UNIX för avancerade & Expertanvändare 3 04-02-2008 01:33
Konvertering exponentiella värden rleebife Shell-programmering och Skript 2 08-03-2007 12:59

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ök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 07-01-2009
barrypitts barrypitts is offline
Registered User
  
 

Join Date: Jul 2009
Ort: Dublin, Irelnad
Inlägg: 3
Konvertering Exponential värden decimaler

Hej,

Jag har ett antal stora (500MB) txt-filer i följande format:


Kod:
  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

Jag vill toprint alla kolumner men omvandla de två första kolumnerna till decimaler t.ex. 8.05370960E 05-805370.960
Allt jag gjort har avrundat siffrorna till närmaste heltal t.ex. 8.05370960E 05-805371

någon hjälp om det skulle vara mycket uppskattat.

Senast redigerad av barrypitts; 07-01-2009 vid 12:14..
  #2 (permalänk)  
Old 07-01-2009
durden_tyler's Avatar
durden_tyler durden_tyler is online now Forum Advisor  
Registered User
  
 

Join Date: april 2009
Inlägg: 544
Citat:
Ursprungligen postat av barrypitts View Post
...
Jag vill toprint alla kolumner men omvandla de två första kolumnerna till decimaler t.ex. 8.05370960E 05-805370.960
...
Om förlora mellanslag formateringen är ok med dig, då ett alternativ skulle kunna vara:


Kod:
$
$ 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 (permalänk)  
Old 07-01-2009
barrypitts barrypitts is offline
Registered User
  
 

Join Date: Jul 2009
Ort: Dublin, Irelnad
Inlägg: 3
Skål @ tyler_durden för snabbt svar.
Jag har granskat vad jag har blivit ombedd att göra och tänkte att jag verkligen behöver bara kolumner $ 1, $ 2 och $ 5 som alla är av samma längd, så förlorar det tomma utrymmet formateringen är okej vid denna tidpunkt.

Men att hålla utrymmet formateringen är väsentliga för de flesta önskemål.

Om någon vet hur detta kan uppnås skulle jag vara intresserad av att höra det.

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

Join Date: februari 2007
Inlägg: 4.333
Citat:
Ursprungligen postat av barrypitts View Post
Men att hålla utrymmet formateringen är väsentliga för de flesta önskemål.

Om någon vet hur detta kan uppnås skulle jag vara intresserad av att höra det.

Skål,
Barry
Prova detta:

Kod:
awk -F" |:" '
{$3=sprintf("%.3f", $3)}
{$5=sprintf("%.3f", $5)}
1' file

  #5 (permalänk)  
Old 07-01-2009
barrypitts barrypitts is offline
Registered User
  
 

Join Date: Jul 2009
Ort: Dublin, Irelnad
Inlägg: 3
Citat:
Ursprungligen postat av Franklin52 View Post
Prova detta:

Kod:
awk -F" |:" '
{$3=sprintf("%.3f", $3)}
{$5=sprintf("%.3f", $5)}
1' file
Det är perfekt @ Franklin52
Bra jobbat

Tack @ Franklin52 och @ tyler_durden!
Barry
Reply

Komihåglista

Taggar
awk, konvertera, numeriska

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är På
Smilies är På
[IMG] kod PÃ¥
HTML-koden är Av
Trackback är På
Pingbacks är På
Refbacks är På




Alla tider är GMT -4. Klockan är nu 11:13.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0