The UNIX and Linux Forums  


Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 10-27-2008
h3llh0l3 h3llh0l3 is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2008
Posten: 9
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
  #2 (permalink)  
Old 10-27-2008
danmero danmero is offline Forum Advisor  
  
 

Join Date: november 2007
Locatie: 45.48-73.63
Berichten: 1.434
Basic scripting concept:
Code:
while read line
do
  #perform the task on "$line"
done < /var/log/somelog.log
  #3 (permalink)  
Old 10-27-2008
h3llh0l3 h3llh0l3 is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2008
Posten: 9
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.
  #4 (permalink)  
Old 10-27-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo .. 9 (1) ^ 2 \, | bc
  
 

Join Date: juni 2003
Locatie: Schotland
Posts: 431
kon je tail-f het logboek en parse dat door middel van het script.

Zou moeten werken .... alternatieve methode is om te onthouden waar je in het bestand (lijn tellen) en voer je script op tijdstippen beginnen waar je gebleven was - net worden zorgvuldige behandeling logrotates
  #5 (permalink)  
Old 10-27-2008
h3llh0l3 h3llh0l3 is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2008
Posten: 9
Citaat:
Oorspronkelijk geplaatst door Tytalus View Post
kon je tail-f het logboek en parse dat door middel van het script.

Zou moeten werken .... alternatieve methode is om te onthouden waar je in het bestand (lijn tellen) en voer je script op tijdstippen beginnen waar je gebleven was - net worden zorgvuldige behandeling logrotates
Als ik tail-f het logboek en het ontleden van het door het script als er een nieuwe regel wordt toegevoegd aan het logboek het script uitgangen.
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.
  #6 (permalink)  
Old 10-28-2008
Tytalus's Avatar
Tytalus Tytalus is offline Forum Advisor  
echo .. 9 (1) ^ 2 \, | bc
  
 

Join Date: juni 2003
Locatie: Schotland
Posts: 431
hmm - probeer zoiets als:

Code:
#  tail -f infile | while read line; do echo $line | tr "[a-z]" "[A-Z]"; done
HELLO
WORLD
waar INFILE was een leeg bestand, en ik deed gewoon:

Code:
#  echo hello >> infile
#  echo world >> infile
  #7 (permalink)  
Old 10-28-2008
h3llh0l3 h3llh0l3 is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2008
Posten: 9
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.
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 04:25.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0