Давайте предположим, что есть такая команда, как:
# uname -a
Linux (none) 2.6.24 #155 PREEMPT Thu Nov 16 09:41:07 IST 2017 ppc GNU/Linux
Теперь мой вопрос: есть ли команды, которые будут печатать только:
Nov 16 09:41:07 IST 2017
И не могли бы вы пожалуйста, объясните немного команду? Спасибо! заранее.
Команда uname -a
печатает всю информацию о вашем ядре, в то время как uname -v
печатает только версию ядра, которая является частью, заканчивающейся датой:
$ uname -v
#155 PREEMPT Thu Nov 16 09:41:07 IST 2017
Вы можете использовать tail -c
команда для печати конца строки указанной длины.
uname -v | tail -c25
Это хорошо работает и в моем случае, когда количество пробелов отличается.
$ 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
Этот awk сделает это, используя эту переменную:
uname -a | awk '{ print $7,$8,$9,$10,$11 }'
Результат:
Nov 16 09:41:07 IST 2017
awk
: запустить программу awk '{ print $7,$8,$9 }'
: выведите 7-е, 8-е и 9-е поля с пробелами ,
между этими значениями. uname -a |
: передать результат uname -a
в команду awk
для обработки