The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
skriptet i lagret i komprimere format naveeng.81 Shell programmering og Skripting 1 04-14-2008 09:31
mailx lagrede meldinger er uleselig (base64) Squeakygoose UNIX for Dummies Spørsmål og svar 1 01-30-2008 11:49
Sudo filen ikke er lagret Asteroid UNIX for Advanced & ekspertbrukere 0 07-30-2007 08:18
bare root's crontab blir ikke lagret flok UNIX for Advanced & ekspertbrukere 1 06-25-2007 11:50
Hvor er passordet lagret i en UNIX server? hast5 UNIX for Dummies Spørsmål og svar 12 10-19-2006 05:11

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øk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 10-13-2008
gugs gugs is offline
Registrert bruker
  
 

Bli Dato: juli 2008
Innlegg: 44
Hvordan kan jeg finne den siste lagret logg?

Vårt system logger når et skript kjøres som kanskje ikke daglig, loggene har et format: name_YYMMDD.log - både navn og. Loggen er konsekvente, dato endringene som i dag skriptet er kjørt.

Er det en måte å finne sist lagret logg?
  #2 (permalink)  
Old 10-13-2008
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala Mode
  
 

Bli Date: Feb 2007
Beliggenhet: Innsbruck, Østerrike
Innlegg: 1893

Code:
find /var/log -type f -printf "%T@\t%p\n" | sort -nr | head -1 |cut -f2

Forklaring:
Se i / var / log og finne alle filer (-type f) og skrive ut sine endring-tidsstempel i sekunder (som er sorterbar) og filnavn. Deretter sortere etter nummer i omvendt rekkefølge, slik at det største antallet vil være først. Ta bare den første linjen og klipp ut tidsstempel.
  #3 (permalink)  
Old 10-13-2008
Gee-Money Gee-Money is offline
Registrert bruker
  
 

Bli Dato: Sep 2008
Innlegg: 48
hva med å gjøre noe som dette:


Code:
ls -ltr name_*.log | tail -n 1 | awk '{ print $NF }'

  #4 (permalink)  
Old 10-13-2008
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala Mode
  
 

Bli Date: Feb 2007
Beliggenhet: Innsbruck, Østerrike
Innlegg: 1893
Egentlig Gee-Penger er på ballen. Hvis skriptet er i en bestemt katalog, trenger du ikke finne. Bare ls. Men hans skriptet er unødvendig kompliserte:

Code:
ls -1t |sed -n '/name.*\.log$/{p;q}'

ville gjøre og være litt raskere. (Normalt ls skriver i kolonner med mindre det står skrive ut til en pipe. The -1 her bare understreker det.)
  #5 (permalink)  
Old 10-13-2008
gugs gugs is offline
Registrert bruker
  
 

Bli Dato: juli 2008
Innlegg: 44
Hvorfor dette ikke fungerer?

Jeg har tatt eksempelet ovenfor og utviklet en liten test script som vist nedenfor til å gjøre hva jeg vil:

NEXT \u003d TEST01
dir \u003d 'C: / Cygwin / var / log / img / aut /'
cmd1 \u003d "sed -n '/ "
echo $ cmd1
cmd2 \u003d ".* \. mqsc $ / (p, q) '"
echo $ cmd2
echo "$ cmd1 $ NESTE $ cmd2"> command.txt
command \u003d $ (grep sed command.txt)
ls-1t $ dir | grep $ NESTE> temp.txt
filename \u003d $ ($ command <temp.txt)

Resultatene jeg får når jeg kjører skriptet er:
+ NEXT \u003d TEST01
+ Dir \u003d C: / Cygwin / var / log / img / aut /
+ Cmd1 \u003d 'sed -n '\''/'
+ Echo sed -n''\''/ '
sed -n '/
+ Cmd2 \u003d ".* \. Mqsc $ / (p, q) '\'''
+ Echo '.* \. Mqsc $ / (p, q)' \'' '
.* \. mqsc $ / (p, q)
+ Echo "sed -n '\''/ TEST01 .* \. mqsc $ / (p, q)' \'' '
+ + Grep sed command.txt
+ Command \u003d 'sed -n '\''/ TEST01 .* \. mqsc $ / (p, q)' \'' '
+ Ls-1t C: / Cygwin / var / log / img / aut /
+ Grep TEST01
+ + sed -n''\''/ TEST01 .* \. mqsc $ / (p, q) '\'''
sed:-E uttrykk # 1, char 1: Ukjent kommando: «''
+ Filename \u003d


  #6 (permalink)  
Old 10-13-2008
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderator ala Mode
  
 

Bli Date: Feb 2007
Beliggenhet: Innsbruck, Østerrike
Innlegg: 1893
Sitat:
Originally Posted by gugs View Post
[SIZE \u003d 2]
Code:
'
+ echo 'sed -n '\''/TEST01.*\.mqsc$/{p;q}'\'''
Det er en qouting problem et sted. Disse rømt-doble anførselstegn ikke skal være der i det hele tatt.
[quote] [code]
Hvorfor kan du ikke bare gjøre:

Code:
ls -1t $dir >temp.txt
sed -n "/$NEXT/{p;q}" temp.txt

  #7 (permalink)  
Old 10-13-2008
gugs gugs is offline
Registrert bruker
  
 

Bli Dato: juli 2008
Innlegg: 44
otheus var det ingen grunn til at jeg ikke kunne bruke:

ls-1t $ dir> temp.txt
sed -n "/ $ NEXT / (p, q)" temp.txt

Jeg vet ikke engang hvorfor jeg ikke tenke på det! En av disse dagene.

THANK YOU alle som hjalp, verdsatt. Jeg vet ikke hva jeg VIL uten hjelp.
Closed Thread

Hugseliste

Tags
UNIX kommandoer

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 06:36.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0