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
Tilføjer linjenummeret og en SEPERATOR til hver linje i en fil? pjcwhite Shell Programmering og Scripting 4 03-21-2007 01:29 AM
tilføjer at sed output af en fil i midten af fil go4desperado Shell Programmering og Scripting 5 02-05-2007 02:20 AM
At tilføje data i den første og sidste linje i en fil brainstormer Shell Programmering og Scripting 4 01-03-2007 10:38 AM
Henter shell script kommando output designflaw Shell Programmering og Scripting 2 03-01-2006 04:24 PM
hentningstidspunkt output i script MizzGail Shell Programmering og Scripting 6 06-02-2004 08:44 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 08-30-2007
wally_welder's Avatar
wally_welder wally_welder is offline
Registreret Bruger
  
 

Join Date: Aug 2007
Beliggenhed: Dongen, Holland
Stillinger: 2
hentningstidspunkt linje fra script output og føjer til en fil

Hej alle,
Jeg har nogle søger i dette forum, men kan ikke finde noget der passer til det emne, jeg ser støde hovedet med.

På en CentOS4/Postfix (og bash overalt) mail-gateway boksen jeg køre en kommando jævne mellemrum for at rense Postfix køen af beskeder "Fra: MAILER -Daemon".

Dette er en line'r (courtesy of Postfix liste arkiv)


Code:
mailq | grep -v "^[^0-9A-Z]+" | grep MAILER-DAEMON | awk '{print $1}' | postsuper -d -

Dette skaber output nøjagtigt som vist:
[mange foregående linjer med nøjagtig samme format]
postsuper: E657736C82BD: fjernet
postsuper: E1CAD36C8074: fjernet

og endelig, i slutningen af output:
postsuper: Slettet: 127 beskeder

Hvad jeg prøver at finde ud af, hvordan du gør, er det .....
Grab antallet af slettede beskeder, og vedhæfte dem til en fil med et tidsstempel fx 20070830 07:32 - 127

så et eller andet sted i den sidste ende af dette ville være>> cron_purges

Kan nogen hjælpe mig med at forstå hvordan man kan gribe * bare * det antal, og hænge et tidsstempel på det som vist i ovenstående eksempel?

Regards & TIA!
Wally
  #2 (permalink)  
Old 08-30-2007
ranj @ chn ranj@chn is offline Forum Advisor  
Leger med Ubuntu Now!
  
 

Join Date: oktober 2005
Sted: Chennai
Posts: 365
en måde

En måde kunne være at få rør til o / p og filtrere den sidste linje, og får ingen af slettede meddelelser fra der og tildele den til en variabel.

Code:
no_of_msgs=$(mailq | grep -v "^[^0-9A-Z]+" | grep MAILER-DAEMON | awk '{print $1}' | postsuper -d - | tail -1 | awk '{print $3}')

Format datoen for at få dato-tidsstempel kræves

Code:
dt_time=$(date +'%Y%m%d %H:%M')

Nu ekko dette til en fil, hvor du ønsker at logge denne.

Code:
echo "$dt_time - ${no_of_msgs}" >>cron_purges

  #3 (permalink)  
Old 08-30-2007
wally_welder's Avatar
wally_welder wally_welder is offline
Registreret Bruger
  
 

Join Date: Aug 2007
Beliggenhed: Dongen, Holland
Stillinger: 2
hentningstidspunkt linje fra script output og føjer til en fil

Citat:
Oprindeligt Indsendt af ranj @ chn View Post
En måde kunne være at få rør til o / p og filtrere den sidste linje, og får ingen af slettede meddelelser fra der og tildele den til en variabel.

Code:
no_of_msgs=$(mailq | grep -v "^[^0-9A-Z]+" | grep MAILER-DAEMON | awk '{print $1}' | postsuper -d - | tail -1 | awk '{print $3}')

Format datoen for at få dato-tidsstempel kræves

Code:
dt_time=$(date +'%Y%m%d %H:%M')

Nu ekko dette til en fil, hvor du ønsker at logge denne.

Code:
echo "$dt_time - ${no_of_msgs}" >>cron_purges
Dette er nogle ret interessante ting:
1. Det gør køre slettet med succes, men udgange verbosely til skærmen i den oprindelige format
2. Det gør skrive et tidsstempel til filen cron_purges
men
3. Ikke tager højde for det antal (repræsenteret som "xxx" nedenfor), der optræder i den sidste linje i output:
postsuper: Slettet: xxx beskeder

Desværre har jeg ikke nok om syntaks til griseri omkring hos mulige alternativer med henblik på at tilbyde et forslag ... så, jeg er en smule snuble stadig.

Regards & Tak!
-Wally
  #4 (permalink)  
Old 08-30-2007
ranj @ chn ranj@chn is offline Forum Advisor  
Leger med Ubuntu Now!
  
 

Join Date: oktober 2005
Sted: Chennai
Posts: 365
rør kan ikke arbejde

Jeg er ikke sikker på, hvad der præcist er årsagen, men o / p af postsuper-d synes at være ikke via rørledninger til hale kommando. Prøv dette,
Omdirigere o / p af postsuper-d til nogle tempfile. Få greven af meddelelser fra tempfile.

Code:
mailq | grep -v "^[^0-9A-Z]+" | grep MAILER-DAEMON | awk '{print $1}' | postsuper -d - >tempfile
no_of_msgs=$(tail -1 tmpfile |awk '{print $3}')

Resten er det samme. Fjern tempfile afer arbejdet er slut. Hvis dette ikke fungerer, så skal du tjekke om den sidste linje er en tom linje i tempfile. Tomme linjer i slutningen kunne også fordreje o / s. Men jeg donot vide, hvordan postsuper værker klart at identificere årsagen. Hope that helps!
  #5 (permalink)  
Old 08-30-2007
fazliturk fazliturk is offline
Registreret Bruger
  
 

Join Date: Aug 2007
Stillinger: 45
prøv dette;

NumOfMsg \u003d`.....( din orijinal kode) ... | grep udgår | awk '(print $ 3)' `
Jeg ting hale er ikke egnet til rør, hvorfor rør sender linje for linje, så for hale -1 hver linje vil være den sidste linje
  #6 (permalink)  
Old 08-31-2007
ranj @ chn ranj@chn is offline Forum Advisor  
Leger med Ubuntu Now!
  
 

Join Date: oktober 2005
Sted: Chennai
Posts: 365
Halen bør arbejde

Citat:
fazliturk
Jeg ting hale er ikke egnet til rør, hvorfor rør sender linje for linje, så for hale -1 hver linje vil være den sidste linje
Halen bør arbejde. Kontrollere dette,

Code:
rkumar@bdc4reteaix1w: /home/rkumar >ls
bkgdtest         dead.letter      mbox             mypipe           nohup.out        test.pl          unix_forum
cprog            f1.txt           myfile           newone           restart_sshd.sh  testpipe.sh      whsmith
rkumar@bdc4reteaix1w: /home/rkumar >ls | tail -1
whsmith

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 12:52 PM.


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