The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google unix.com



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Converting Spaltenwerte zu Komma delimted einreihig nvuradi Shell Programmierung und Scripting 5 01-23-2009 01:24 AM
Regelmäßige Dezimalstellen zu konvertieren Verpackt Dezimalstellen mgirinath Shell Programmierung und Scripting 2 09-20-2008 09:27 AM
Die Umwandlung von Exponential auf numerische in awk-Ausgang nicht korrekt ssunda6 Shell Programmierung und Scripting 3 09-19-2008 01:36 AM
Konvertierung von Binär-dezimal kodierten Werte zu ASCII-Werte gaur.deepti UNIX für Fortgeschrittene und Experten 3 04-02-2008 12:33 PM
Converting exponentiellen Werte rleebife Shell Programmierung und 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 07-01-2009
barrypitts barrypitts is offline
Registrierte Nutzer
  
 

Join Date: Jul 2009
Ort: Dublin, Irelnad
Beiträge: 3
Konvertieren von Exponential Werte Dezimalstellen

Hi,

Ich habe eine Reihe von großen (500 MB) txt-Dateien in den folgenden 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
Ich möchte toprint alle Spalten konvertieren, aber die ersten beiden Spalten Dezimalstellen zB 8.05370960E 05 bis 805370.960
Alles, was ich getan haben, hat die Zahlen gerundet auf die nächste ganze Zahl zB 8.05370960E 05-805371

jede Hilfe zu dieser wäre viel zu schätzen.

Zuletzt bearbeitet von barrypitts; am 07-01-2009 11:14 AM..
  #2 (permalink)  
Old 07-01-2009
durden_tyler's Avatar
durden_tyler durden_tyler is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Apr 2009
Beiträge: 521
Zitat:
Zitat von barrypitts View Post
...
Ich möchte toprint alle Spalten konvertieren, aber die ersten beiden Spalten Dezimalstellen zB 8.05370960E 05 bis 805370.960
...
Verlieren, wenn der freie Raum die Formatierung in Ordnung ist mit Ihnen, dann eine der Optionen können sein:

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
Registrierte Nutzer
  
 

Join Date: Jul 2009
Ort: Dublin, Irelnad
Beiträge: 3
Cheers @ tyler_durden für die schnelle Antwort.
Ich habe, was ich habe gebeten, tun und dargestellt, dass ich wirklich nur Spalten $ 1, $ 2, $ 5, die alle die gleiche Länge, so verlieren die Leerzeichen Formatierung in Ordnung ist an dieser Stelle.

Allerdings halten die Formatierung Raum ist von wesentlicher Bedeutung für die meisten Anfragen.

Wenn jemand weiß, wie diese erreicht werden kann, wäre ich interessiert zu hören.

Prost,
Barry
  #4 (permalink)  
Old 07-01-2009
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4298
Zitat:
Zitat von barrypitts View Post
Allerdings halten die Formatierung Raum ist von wesentlicher Bedeutung für die meisten Anfragen.

Wenn jemand weiß, wie diese erreicht werden kann, wäre ich interessiert zu hören.

Prost,
Barry
Versuchen Sie folgendes:
Code:
awk -F" |:" '
{$3=sprintf("%.3f", $3)}
{$5=sprintf("%.3f", $5)}
1' file
  #5 (permalink)  
Old 07-01-2009
barrypitts barrypitts is offline
Registrierte Nutzer
  
 

Join Date: Jul 2009
Ort: Dublin, Irelnad
Beiträge: 3
Zitat:
Zitat von Franklin52 View Post
Versuchen Sie folgendes:
Code:
awk -F" |:" '
{$3=sprintf("%.3f", $3)}
{$5=sprintf("%.3f", $5)}
1' file
Das ist perfekt @ Franklin52
Good job

Vielen Dank @ @ Franklin52 und tyler_durden!
Barry
Reply

Lesezeichen

Tags
awk, konvertieren, numerischen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Auf




Alle Zeiten sind GMT -4. Es ist jetzt 08:50 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0