Extração de informação com SED[RESOLVIDO]

1. Extração de informação com SED[RESOLVIDO]

César
dark777

(usa Debian)

Enviado em 29/05/2016 - 13:03h

Pessoal estou fazendo extração de dados do kernel do meu ubuntu porem estive estudando algums comandos usando sed awk

e a informação que quero extrair é a do arquivo kernel.release que fica em /usr/src/linux-headers-4.6.0-040600-lowlatency/include/config/kernel.release
a informação dentro do arquivo é esta abaixo:
4.6.0-040600-lowlatency
fiz um comando sem ter que passar nenhum parametro pois a função estaria sendo utilizada para qualquer versao do kernel onde for executada entao neste caso eu consegui fazer isso abaixo:
echo EXTRAVERSION: `cat /usr/src/linux-headers-4.6.0-040600-lowlatency/include/config/kernel.release|sed 's/.*^*^*.*^*^*-//g'`
dessa forma acima ele traz a informação que eu queria pegar que no caso era somente:
EXTRAVERSION: lowlatency
excluindo todos os outros parametros e strings porem estou tentando utilizar a mesma logica para pegar somente:
RELEASE: 4.6.0
excluindo todos os parametros apos ele e
ABI: 040600
excluindo todos os parametros antes e depois porem nao estou conseguindo se alguem puder me ajudar...
PS: nao quero ter que passar nenhum parametro da string tipo 4.6.0-040600-<comando> pois quero que seja algo generico
entao a pessoa que for executar nao precisaria fazer manutenção na função para sua versao corrente do kernel




  


2. Re: Extração de informação com SED[RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/05/2016 - 18:49h

Seu comando/string de SED está prá lá de enrolado.
Poderia passar umas linhas deste arquivo em volta do texto a se explorar?
Ou melhor: colar o arquivo em algo tipo pastebin para ser analisado?

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Extração de informação com SED[RESOLVIDO]

César
dark777

(usa Debian)

Enviado em 30/05/2016 - 00:56h

listeiro_037 escreveu:

Seu comando/string de SED está prá lá de enrolado.
Poderia passar umas linhas deste arquivo em volta do texto a se explorar?
Ou melhor: colar o arquivo em algo tipo pastebin para ser analisado?

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden


bom parceiro o arquivo se chama kernel.release e dentro dele encontra se somente a informação abaixo:
4.6.0-040600-lowlatency
se vc fiser touch kernel.release
e um echo "4.6.0-040600-lowlatency" > kernel.release

nao ha nescessidade de postar no pastebim poi só tem a seguinte linha dentro do arquivo:
4.6.0-040600-lowlatency





4. Re: Extração de informação com SED[RESOLVIDO]

Phillipe Smith
SmithuX

(usa Arch Linux)

Enviado em 30/05/2016 - 10:09h

Cara, acho que seria mais simples utilizar o AWK ao invés do SED, pra esse caso:
VAR=($(awk -F'-' '{printf "%s %s %s", $1, $2, $3}' kernel.release))

RELEASE: ${VAR[1]}
ABI: ${VAR[2]}
EXTRAVERSION: ${VAR[3]}


"Não há nada como a liberdade!" (Nelson Mandela)


5. Re: Extração de informação com SED[RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 30/05/2016 - 12:09h

SmithuX escreveu:

Cara, acho que seria mais simples utilizar o AWK ao invés do SED, pra esse caso:
VAR=($(awk -F'-' '{printf "%s %s %s", $1, $2, $3}' kernel.release))

RELEASE: ${VAR[1]}
ABI: ${VAR[2]}
EXTRAVERSION: ${VAR[3]}


"Não há nada como a liberdade!" (Nelson Mandela)


Eu também pensei nisto.

----------------------------------------------------------------------------------------------------------------
# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts