![]() |
|
|
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. |
![]() |
|
|
LinkBack | Thread Tools | Søg denne tråd | Rate Thread | Display Modes |
|
|
|
||||
|
Er det muligt med sed eller awk?
Hej alle, Jeg er Tring at skrive et script, der bør læse den første linje i filen og udføre nogle opgaver. Når opgaven er fuldført næste linje i filen skal læses opgaven skal udføres. Så er det muligt at få en tæller slags ting, i sed eller awk, hvilket ville tilvækst og dermed forårsage den næste linje, der skal læse? Følgende er, hvordan jeg tænkte på at gøre det, men det fungerer ikke, som jeg ikke kan tildele værdien til $ C for at få læst en linje: Code:
C=1 #counter while true do LOG=`sed '$C!d' /var/log/somelog.log` # perform the task on $LOG # C=`expr $C + 1` done Tak |
|
||||
|
Tak for svaret danmero.
Jeg havde prøvet det tidligere. Når scriptet lyder gennem somelog.log og når EOF det udgange. Men jeg ønsker ikke, at det for at afslutte. Hvis EOF er nået scriptet skal vente indtil nye linje indsættes i somelog.log og derefter udfører den opgave. Også de nye til somelog.log vil blive tilføjet med tilfældige intervaller. Nogen forslag til, hvordan man kan have script vente, hvor den stoppede snarere end spændende og fortsætte, når den nye linje indsættes? Tak. |
|
||||
|
Citat:
Jeg har ikke prøvet alternative skridt endnu da jeg ikke bekendt med logrotates. Ville der være nogen anden måde at gøre dette? Tak. |
|
||||
|
Tak for svaret tytalus.
Jeg tror det ville ikke arbejde for mig som mit script indeholder 10 logikker i det. Så jeg tog en anden rute og bruge cron og ls og flytte filer rundt, når jobbet er forbi Jeg fik det til at gøre arbejdet. Men det ville have været rart og lettere, hvis jeg bare kunne finde ud af en måde at gøre det, fordi jeg ønskede. Men jeg vil dog fortsætte med at læse igennem og se om jeg kan gøre det på den måde, jeg ønskede at gøre det. Tak igen. |
![]() |
| Bogmærker |
| Thread Tools | Søg denne tråd |
| Display Modes | Bedøm denne tråd |
|
|