вывести строку из определенного файла

Давайте предположим, что есть такая команда, как:

# 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

И не могли бы вы пожалуйста, объясните немного команду? Спасибо! заранее.

1
задан 16 January 2018 в 09:20

2 ответа

Команда 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
0
ответ дан 16 January 2018 в 09:20

Этот 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 для обработки
0
ответ дан 16 January 2018 в 09:20

Другие вопросы по тегам:

Похожие вопросы: