tonyhts
(usa Arch Linux)
Enviado em 15/09/2015 - 10:26h
mikimba escreveu:
Galera, podem me ajudar???
eu tenho o seguinte log..
[root@Netbackup nbjlogs]# ls
jbp.root.jnbSA.12235.log jbp.root.jnbSA.3956.log
jbp.root.jnbSA.12893.log jbp.root.jnbSA.4040.log
gostaria de fazer um comando onde ele pega automaticamente o numero do log( jbp.root.jnbSA.4040.log), sabendo que esse numero é aleatório.
da pra fazer isso criando uma variavel?? e como faço??
obrigado!!!
Olá,
Tbm não entendi o "como" quer amazenar. Supondo que vc tenha varios arquivos, logo, terá varios numeros à armazenar. Onde armazenaremos esses numero
s?
Podemos colocar num vetor ou num arquivo, mas qual a ordem???
Exemplo armazenando num arquivo:
for i in $(ls *.log); do echo $i | sed 's/[^0-9]//g' >> lista_logs.txt ; done
Depois para ler/acessar o conteúdo:
cat lista_log.txt
Exemplo armazenando num vetor:
LOGS=($(for i in $(ls *.log); do echo $i | sed 's/[^0-9]//g'; done))
Depois para ler/acessar o conteúdo:
echo ${LOGS[0]}
echo ${LOGS[1]}
echo ${LOGS[2]}
echo ${LOGS[3]}
...
Para acessar todos de uma vez:
echo ${LOGS[*]}
Ou vc quer criar uma variável para servir de alias/apelido para o arquivo.log chamando ele apenas pelo numero?
Se sim, o comando fica assim:
for i in $(ls *.log); do L_$(echo $i | sed 's/[^0-9]//g')="'$i'"; done
Com o comando acima, vc irá criar (para cada arquivo .log na pasta) uma variavel chamada L_numero dele.
Por exemplo, observe a saida do comando echo lendo a varíavel criada:
echo $L_12235
bp.root.jnbSA.12235.log
abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.
--- Mestre dos Mestres - Alan Turing ---