![]() |
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Is het mogelijk met sed en awk?
Hi all,
Ik ben Tring schrijven een script dat moet lees de eerste regel van het bestand en het uitvoeren van bepaalde taak. Zodra de opdracht is voltooid, de volgende regel van het bestand moet worden gelezen in de taak moet worden uitgevoerd. Dus is het mogelijk om een teller soort dingen, in sed of awk, die zou verhogen en dus tot gevolg hebben dat de volgende regel te lezen? Hieronder ziet u hoe ik dacht te doen, maar het werkt niet als ik niet kan toewijzen aan $ C te leren lezen van een regel: 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 |
|
||||
|
Bedankt voor het antwoord danmero.
Ik heb geprobeerd dat eerder. Als het script leest via somelog.log en bereikt EOF zij uitgangen. Maar ik wil het niet om af te sluiten. Indien het EOF is bereikt, wordt het script moet wachten tot de nieuwe regel wordt toegevoegd aan somelog.log en het vervolgens de taak. Ook de nieuw te somelog.log zou worden toegevoegd met willekeurige tussenpozen. Suggesties over hoe om het script te wachten wanneer zij gestopt in plaats verlaten en blijven wanneer de nieuwe regel wordt toegevoegd? Bedankt. |
|
||||
|
Citaat:
Ik heb niet geprobeerd de alternatieve stap nog niet zoals ik ben niet bekend met logrotates. Zou er een andere manier om dit te doen? Bedankt. |
|
|||||
|
hmm - probeer zoiets als:
Code:
# tail -f infile | while read line; do echo $line | tr "[a-z]" "[A-Z]"; done HELLO WORLD Code:
# echo hello >> infile # echo world >> infile |
|
||||
|
Bedankt voor het antwoord tytalus.
Ik denk dat dit niet zou werken voor mij als mijn script bevat 10 logica in. Dus ik nam een andere route en met behulp van cron en LS en het verplaatsen van de bestanden in een keer de baan is meer dan ik heb het te doen het werk. Maar zou het leuk geweest zijn en gemakkelijker als ik kon gewoon cijfer een manier om dit te doen zoals ik wilde. Toch zal ik blijven lezen en kijken of ik kan doen wat ik wilde doen. Nogmaals bedankt. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|