![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
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? |
|
|||||
|
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.) |
|
||||
|
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 |
|
|||||
|
Sitat:
[quote] [code] Hvorfor kan du ikke bare gjøre: Code:
ls -1t $dir >temp.txt
sed -n "/$NEXT/{p;q}" temp.txt
|
|
||||
|
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. |
![]() |
| Hugseliste |
| Tags |
| UNIX kommandoer |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|