Oi Vini,
Obrigado pela força, mas é mais complicado: Naquelas primeiras colunas,
poder um espaço em branco a mais :(( isso estraga todo o raciocínio por
colunas
Pelo awk dá para separar por colunas fixas, mas preciso descobrir
primeiro que colunas são essas analizando a primeira linha
ACHEI: ensando um pouco sobre o awk:
echo " remote refid st t when poll reach delay
offset" | awk '{print match($0,"reach")}'
responde 49
agora eu posso fazer ${LINHA:49:5} e ter certeza que pequei o dado
certo. Esse script tem muito trabalho pela frente...
Obrigado pelo apoio ;-)
Alain
SuSE List escreveu:
Alain,
Da pra fazer isso, usando " " como caracter separador de campos....em
função disso cada campo tem um "espaço", o reach seria o setimo
campo....com o que vc mandou fiz o seguinte teste:
Também atentando que possa ter mais de um espaco em branco, seja no
inicio ou no fim da coluna.....veja:
msp01:/home/vinicius # cat texto.txt
+ntp1.pucpr.br tick.ucla.edu 2 u 716 1024 377 237.626
19.915
11.058
paulo.hiway.com Tick.UH.EDU 2 u 159 1024 377 385.982
77.252
427.978
msp01:/home/vinicius # cat texto.txt | awk -F" " '{print
$7"\t"$8"\t"$9"\t"$10}'
377 237.626 19.915 11.058
377 385.982 77.252 427.978
msp01:/home/vinicius # cat texto.txt | awk -F" " '{print $7" "$8" "$9"
"$10}'
377 237.626 19.915 11.058
377 385.982 77.252 427.978
ou ainda, imprimindo também a primeira coluna também:
msp01:/home/vinicius # cat texto.txt | awk -F" " '{print $1" "$7" "$8"
"$9" "$10}'
+ntp1.pucpr.br 377 237.626 19.915 11.058
paulo.hiway.com 377 385.982 77.252 427.978
msp01:/home/vinicius # cat texto.txt | awk -F" " '{print
$1"\t"$7"\t"$8"\t"$9"\t"$10}'
+ntp1.pucpr.br 377 237.626 19.915 11.058
paulo.hiway.com 377 385.982 77.252 427.978
O parametro "\t" entre aspas é o caracter de tabulação no awk....
é isso que vc precisa?
[]s
Vinny
Alain wrote:
Eu não quis entupir a lista com listagens, mas aqui vai uma nescessária.
O comando retorna:
[root@servnet1 root]# ntpq -p
remote refid st t when poll reach delay offset
jitter
==============================================================================
+ntp1.pucpr.br tick.ucla.edu 2 u 716 1024 377 237.626 19.915
11.058
paulo.hiway.com Tick.UH.EDU 2 u 159 1024 377 385.982 77.252
427.978
A primeira linha serve de título, eu preciso testar aquele 377 embaixo
do reach. Só que, vendo listas semelhantes na lista do ntp, acontece o
seguinte: 1) na segunda coluna (pulando o primeiro caracter) e na
terceira podem existir " ", e 2) a largura e quantidade das colunas não
é sempre exata mas varia com as versões.
Portanto eu preciso achar a posição da palavra "reach" na primeira linha
para recortar as linhas apartir da terceira
Alain
SuSE List escreveu:
Alain,
Estas colunas tem tamanho fixo??? Você quer ler a partir do primeiro
caracter da coluna reach ate o final, desprezando os caracteres
iniciaiss ou vc só quer exibir as 4 ultimas colunas......de um exemplo
que fica mais facil....pois existem varias formas de se fazer isso...
Alain wrote:
Eu tenho a saída de um comando (ntpq) assim (primeira linha):
remote refid st t when poll reach delay offset
jitter
como eu faço para ler a coluna em que começa a palavra "reach"? Ou
seja
o número de caracteres desde o começo da linha.
grtato,
Alain
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação,
como perl, C etc. Quem insistir em não seguir esta regra será moderado
sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
*Yahoo! Grupos, um serviço oferecido por:*
*
<http://br.rd.yahoo.com/SIG=12adu0u0d/M=264105.3931087.6562589.1588051/D=brclubs/S=2137111254:HM/EXP=1110993832/A=2361264/R=6/SIG=10v4acpp0/*http://br.shopping.yahoo.com/>*
------------------------------------------------------------------------
*Links do Yahoo! Grupos*
* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
* Para sair deste grupo, envie um e-mail para:
address@hidden
<mailto:address@hidden?subject=Unsubscribe>
* O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
[As partes desta mensagem que não continham texto foram removidas]
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de
programação, como perl, C etc. Quem insistir em não seguir esta regra
será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação,
como perl, C etc. Quem insistir em não seguir esta regra será moderado
sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
*Yahoo! Grupos, um serviço oferecido por:*
*
<http://br.rd.yahoo.com/SIG=12aj8ipc1/M=264105.3931087.6562589.1588051/D=brclubs/S=2137111254:HM/EXP=1111006012/A=2361264/R=6/SIG=10v4acpp0/*http://br.shopping.yahoo.com/>*
------------------------------------------------------------------------
*Links do Yahoo! Grupos*
* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/shell-script/
* Para sair deste grupo, envie um e-mail para:
address@hidden
<mailto:address@hidden?subject=Unsubscribe>
* O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.