The UNIX and Linux Forums  

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
Hvordan kan jeg læse en ikke tekstfil i unix - ELF-64 eksekverbare objekt fil - IA64 alexcol UNIX for Advanced & Ekspertsøgning Brugere 8 11-07-2008 08:56 AM
Post Shell programmering: Spørgsmål om kilden en fil og læse data fra filen ccwq Shell Programmering og Scripting 3 08-04-2007 11:28 PM
Læs ord fra fil og oprette nye fil med K-skallen. bsrajirs Shell Programmering og Scripting 4 06-01-2007 01:15 PM
Læs XML-fil ram2s2001 Shell Programmering og Scripting 2 12-12-2005 12:20 AM
Hvordan læser bestemte linjer i en bulk-fil ved hjælp af C-fil Programmering rajan_ka1 Højtstående Programmering 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 04-25-2008
giorgos193 giorgos193 is offline
Registreret Bruger
  
 

Join Date: Apr 2008
Stillinger: 17
Hjælp med awk - læse fra fil

Hej,

Jeg har en fil som følgende:


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

... og jeg vil gerne udtrække oplysninger om den tid. Jeg vil gerne læse filen, skal du gemme tid (i hver linje) til en variabel, skal du fjerne suffikset sek og derefter føje det til den tidligere værdi. Resultatet vil være den samlede tid ....

Jeg har prøvet mange ting, men ingen af dem arbejder ... Hvis det hjælper, det sidste jeg forsøgte var


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

echo $TIME

Det er en dum løsning, men jeg tror, det kan give udtryk for, hvad jeg ønsker at gøre ....
Jeg formoder, at det har noget at gøre med at læse hver linje separetely, men jeg kan ikke tal it out ...

Thanks a lot in advance ...
  #2 (permalink)  
Old 04-25-2008
grumpf grumpf is offline
Registreret Bruger
  
 

Join Date: May 2006
Stillinger: 101
dette virker for mig:

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

ren skal:

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

Join Date: Feb 2007
Indlæg: 4.343
Prøv dette:
Code:
awk '
/Segment/{match($3,".");t+=substr($3,RSTART)}
END{print "Totaltime :"t}
' file

Hilsen
  #4 (permalink)  
Old 04-25-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Indlæg: 4.343
Selv:


Code:
awk '/Segment/{t+=$3}END{print "Totaltime :"t}' file

Hilsen
  #5 (permalink)  
Old 04-25-2008
epoke era is offline Forum Advisor  
Herder af Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: / der / er / kun / bin / sh
Stillinger: 3652
For at tilføje de værdier, er det nok, hvis du får summen i slutningen? Så awk er alt hvad du behøver:


Code:
awk '/Segment/ { gsub("secs",""); time += $3 } END { print time }' file.txt

Hvis du virkelig virkelig ønsker at sløjfe over den kumulative gange og gøre noget, som hver i råtanken, der ville være noget lignende


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

Råtanken's aritmetiske faciliteter heltal kun, så du kan ikke summen numre med delstrømsprøvetagning dele i råtanken selv. Kom godt awk at udskrive både den nuværende og den samlede værdi for hver linje er en pæn løsning for, at (og en god lejlighed til at demonstrere, hvordan man kan læse flere værdier fra samme linje i skallen).
  #6 (permalink)  
Old 04-25-2008
giorgos193 giorgos193 is offline
Registreret Bruger
  
 

Join Date: Apr 2008
Stillinger: 17
Jeg vil gerne takke jer alle for dig hurtig reaktion! Alle løsninger er stor! Jeg virkelig sætter pris på din indsats!

@ Æra: Jeg er virkelig imponeret over din "sofistikeret" løsning!

Tak igen!
  #7 (permalink)  
Old 04-29-2008
summer_cherry summer_cherry is offline Forum Advisor  
Registreret Bruger
  
 

Join Date: Jun 2007
Location: Beijing Kina
Indlæg: 1.092

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

Bogmærker

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
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 06:48 AM.


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