![]() |
|
|
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 |
| tail-f | wannalearn | Programação Shell Script e | 4 | 04-10-2007 06:22 |
| cauda comando .. | amon | Programação Shell Script e | 2 | 06-02-2006 05:36 |
| Ajuda no script usando cauda | JISC | Programação Shell Script e | 4 | 05-19-2006 04:15 |
| como sed com cauda | redlotus72 | UNIX para Dummies Perguntas & Respostas | 1 | 08-30-2005 06:27 |
| usando tail-f | cdunavent | Programação Shell Script e | 6 | 10-23-2002 06:10 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Cauda?
Olá todos, Tenho pesquisa do fórum e não poderia encontrar uma resposta ... Aqui está o que estou tentando fazer. A cada 15 minutos, um script uptime enviar saída para um logfile (dailylog.log), que o arquivo contém uma linha como a seguir: Código:
11:21am up 44 days, 19:15, 1 user, load average: 0.00, 0.02, 0.03 Agora, estou tentando extrair apenas antes da última linha e enviá-la para outro arquivo. A coisa é que usando tail -2 irá mostrar-me as 2 últimas linhas ... Eu não preciso que a última linha. O log está crescendo a cada 15 minutos para que eu não sei quantas entradas existem no arquivo. Código:
echo $(tail -10 /dailyload.log) Alguém tem uma sugestão? |
|
||||
|
Você deseja que o próximo a última linha, certo? E apenas a uma linha. E adicionar a uma linha de um outro arquivo. Depois, aguarde 15 minutos e fazer isso de novo? Código:
while true
do
tail -2 logfile | head -1 >> anotherfile.log
sleep 900
done
|
|
||||
|
Tks Jim. Agora o que eu faço é colocar o 13 º argumento do comando uptime em uma variável, a carga, vamos dizer agora 0,06 e adicionando as últimas 24 horas de carga e fazer uma média do total. Aqui está o que estou tentando fazer: Código:
#!/usr/bin/ksh
I_COUNT=96
C_CHAINE=0
until ((I_COUNT < 1))
do
tail -$I_COUNT /dailyload.log | head -1 | awk '{print $13}' > $C_CHAINE
#average
((C_CHAINE=C_CHAINE+$13))
((I_COUNT=I_COUNT-1))
done
((C_CHAINE=C_CHAINE/96))
echo $C_CHAINE
Mas não podem fazê-lo funcionar. Qualquer idéia? |
|
||||
|
Parece que você está tendo o último a partir de 96 linhas de log e de encontrar a média da coluna 13. Código:
tail -96 logfile | \
awk 'BEGIN { total=0 } { total+=$13 } END{ printf("Avg=%f\n", total/NR) }'
se eu entendi o que você deseja. |
![]() |
| Marcadores |
| Tags |
| carga média, desempenho |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|