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
Wie kann ich eine Text-Datei nicht in Unix - ELF-64 ausführbare Objektdatei - IA64 alexcol UNIX für Fortgeschrittene und Experten 8 11-07-2008 08:56 AM
Post-Shell-Programmierung: Frage zu Quelle eine Datei und Lesen von Daten aus der Datei ccwq Shell Programmierung und Scripting 3 08-04-2007 10:28 PM
Lesen Sie Wörter aus der Datei und neue Datei mit K-Schale. bsrajirs Shell Programmierung und Scripting 4 06-01-2007 12:15 PM
Lesen von XML-Datei ram2s2001 Shell Programmierung und Scripting 2 12-12-2005 12:20 AM
Wie lese ich bestimmte Zeilen in einer Bulk-Datei mit C-Programmierung Datei rajan_ka1 High-Level-Programmierung 10 11-10-2005 03:29 AM

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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 04-25-2008
giorgos193 giorgos193 is offline
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 17
Hilfe mit awk - Lesen aus einer Datei

Hi,

Ich habe eine Datei wie folgt aus:

Code:
Starting to process segment 0 (and symmetry related segments)
	Number of (cancelled) singularities: 0
	Number of (cancelled) negative numerators: 0
	Segment 0: 5.49secs
Starting to process segment 1 (and symmetry related segments)
	Number of (cancelled) singularities: 0
	Number of (cancelled) negative numerators: 0
	Segment 1: 10.01secs
Starting to process segment 2 (and symmetry related segments)
	Number of (cancelled) singularities: 0
	Number of (cancelled) negative numerators: 0
	Segment 2: 7.82secs
Starting to process segment 3 (and symmetry related segments)
	Number of (cancelled) singularities: 0
	Number of (cancelled) negative numerators: 0
	Segment 3: 5.31secs
... und ich möchte, um die Informationen über die Zeit. Ich möchte, die Datei zu lesen, speichern Sie die Zeit (jeder Zeile) in eine Variable, entfernen Sie das Suffix secs und dann fügen Sie es dem vorherigen Wert. Das Ergebnis wird die gesamte Zeit ....

Ich habe viele Dinge, aber keiner von ihnen arbeitet ... Im Fall hilft es, den letzten habe ich versucht wurde

Code:
 
TIME="`awk '/Segment/ {print $3%secs + $TIME} ' log.txt`"

echo $TIME
Es ist eine dumme Lösung, aber ich denke, so kann sie vermitteln, was ich will zu tun ....
Ich vermute, dass es etwas zu tun mit dem Lesen jeder Zeile separetely, aber ich kann es nicht herausgefunden ...

Vielen Dank im Voraus ...
  #2 (permalink)  
Old 04-25-2008
grumpf grumpf is offline
Registrierte Nutzer
  
 

Registriert seit: Mai 2006
Beiträge: 101
Dies funktioniert für meine:

awk-F ":" "/ Segment / (print $ 2) 'file.txt
5.49secs
10.01secs
7.82secs
5.31secs

reine Shell:

grep Segment file.txt | cut-d:-f2
  #3 (permalink)  
Old 04-25-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4301
Versuchen Sie folgendes:
Code:
awk '
/Segment/{match($3,".");t+=substr($3,RSTART)}
END{print "Totaltime :"t}
' file
Grüße
  #4 (permalink)  
Old 04-25-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4301
Auch:

Code:
awk '/Segment/{t+=$3}END{print "Totaltime :"t}' file
Grüße
  #5 (permalink)  
Old 04-25-2008
Ära era is offline Forum Advisor  
Herder sinnlosen Katzen (Am Sabbatical)
  
 

Join Date: März 2008
Location: / es / ist / nur / bin / sh
Beiträge: 3652
Bei Addition der Werte, ist es genug, wenn man die Summe am Ende? Awk Dann ist alles, was Sie brauchen:

Code:
awk '/Segment/ { gsub("secs",""); time += $3 } END { print time }' file.txt
Wenn Sie wirklich wirklich wollen Schleife über die kumulativen und tun etwas, was jeder in der Schale, das wäre so etwas wie

Code:
awk '/Segment/ { gsub ("secs",""); time += $3; print $3, time } file.txt |
while read THISTIME SUMTIME; do
  echo This time, we got $THISTIME
  echo Sum so far is $SUMTIME
done
Die Shell-Arithmetik sind das nur, damit Sie nicht mit Zahlen Summe Teilprobenahme Teile sich in der Shell. Erste awk, um sowohl die aktuelle und der kumulierte Wert für jede Zeile ist ein nettes Workaround für diese (und eine gute Gelegenheit zu zeigen, wie zu lesen, mehrere Werte aus der gleichen Zeile in der Schale).
  #6 (permalink)  
Old 04-25-2008
giorgos193 giorgos193 is offline
Registrierte Nutzer
  
 

Join Date: Apr 2008
Beiträge: 17
Ich möchte mich bei Ihnen allen für Sie schnelle Reaktion! Alle Lösungen sind großartig! Ich danken Ihnen für Ihre Mühe!

@ Zeit: Ich bin wirklich beeindruckt von Ihrem "anspruchsvollen" Lösung!

Nochmals vielen Dank!
  #7 (permalink)  
Old 04-29-2008
summer_cherry summer_cherry is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jun 2007
Ort: Peking, China
Posts: 1082
Code:
sed '/Segment/ s/secs//' a > b
awk 'BEGIN{FS=":"}
$0 ~ /Segment/ {
if(t=="")
{
	t=$2
	print
}
else
{
	t=t+$2
	print $1" "t
}
}
$0 !~ /Segment/ {print}
' b
rm b
Closed Thread

Lesezeichen

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 01:06 PM.


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