![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui. |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| script em salvas em formato comprimir | naveeng.81 | Programação Shell Script e | 1 | 04-14-2008 09:31 |
| mailx mensagens guardadas são ilegíveis (base64) | Squeakygoose | UNIX para Dummies Perguntas & Respostas | 1 | 01-30-2008 11:49 |
| Sudo arquivo não salvas | Asteróide | UNIX & avançada para usuários experientes | 0 | 07-30-2007 08:18 |
| só raiz do crontab não se salvou | flok | UNIX & avançada para usuários experientes | 1 | 06-25-2007 11:50 |
| Onde estão as senha guardados em um servidor UNIX? | hast5 | UNIX para Dummies Perguntas & Respostas | 12 | 10-19-2006 05:11 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Como posso identificar o último log salvo?
O nosso sistema gera logs quando é executado um script que não pode ser diário, os registros têm um formato: name_YYMMDD.log - nome e tanto. Log são coerentes, a data muda conforme o dia, o script é executado.
Existe uma maneira de encontrar o último log salvo? |
|
|||||
|
Na verdade, Gee-Dinheiro é na bola. Se o seu script está em um diretório específico, você não precisa encontrar. Basta ls. No entanto, o seu script é desnecessariamente complexa: Código:
ls -1t |sed -n '/name.*\.log$/{p;q}'
ia fazer e ser um pouco mais rápida. (Normalmente, ls imprime em colunas, a menos que a impressão para um tubo. A -1 enfatiza aqui só isso.) |
|
||||
|
Porque é que isto não funciona?
Tomei o exemplo acima e desenvolveram um pequeno teste script, conforme mostrado abaixo para fazer o que eu quero:
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 $ $ $ PRÓXIMA cmd2"> command.txt comando \u003d $ (grep sed command.txt) ls-1t $ dir | grep $ PRÓXIMA> temp.txt filename \u003d $ ($ comando <temp.txt) Os resultados que obtenho quando eu executar o script são: + 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 Comando + \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 expressão # 1, caractere 1: comando desconhecido: `'' + Filename \u003d |
|
|||||
|
Citação:
[quote] [code] Porque você simplesmente não pode fazer: Código:
ls -1t $dir >temp.txt
sed -n "/$NEXT/{p;q}" temp.txt
|
|
||||
|
otheus não havia razão para eu não poderia usar:
ls-1t $ dir> temp.txt sed -n "/ $ NEXT / (p, q)" temp.txt Eu nem sei porque eu não pensar sobre isso! Um destes dias. OBRIGADO todos quantos ajudaram, muito apreciada. Eu não sei o que quero sem a ajuda. |
![]() |
| Marcadores |
| Tags |
| comandos unix |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|