![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Regler | Links | Albums | FAQ | Members List | Kalender | Søgning | Dagens Stillinger | Mark Forums Read |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
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 ... |
|
||||
|
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). |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|