imprime uma string de um arquivo específico

1

Vamos supor que exista um comando como:

# uname -a
Linux (none) 2.6.24 #155 PREEMPT Thu Nov 16 09:41:07 IST 2017 ppc GNU/Linux

Agora, minha pergunta é: existem comandos que só serão impressos:

Nov 16 09:41:07 IST 2017

E você poderia por favor explicar o comando um pouco? Obrigado! antecipadamente.

    
por Ahsan 16.01.2018 / 05:30

2 respostas

1

O comando uname -a imprime todas as informações sobre o seu kernel, enquanto uname -v apenas imprime a versão do kernel, que é a parte que termina com a data:

$ uname -v
#155 PREEMPT Thu Nov 16 09:41:07 IST 2017

Você pode usar o comando tail -c para imprimir o final da cadeia com o comprimento especificado.

uname -v | tail -c25

Isso funciona bem também no meu caso, onde a contagem de espaços é diferente.

$ uname -v
#93-Ubuntu SMP PREEMPT Fri Mar 31 15:14:04 UTC 2017
$ uname -v | tail -c25
Mar 31 15:14:04 UTC 2017
    
por Melebius 16.01.2018 / 08:42
0

Esse awk fará isso usando esta variável:

uname -a | awk '{ print ,,,, }'

Resultado:

Nov 16 09:41:07 IST 2017
  • awk : inicia o programa awk
  • '{ print ,, }' : imprima o sétimo, oitavo e nono campos com , de espaços entre esses valores.
  • uname -a | : canaliza o resultado de uname -a para o comando awk para processar
por George Udosen 16.01.2018 / 05:34