Задать вопрос
Ten
@Ten

Как в bash выделить из вывода только нужное?

Здравствуйте, хабровчане.
С Linux я, увы, на "вы", но иногда задачки возникают.

Итак, задачка.
Есть вывод команды cat /sys/bus/w1/devices/22-*/w1_slave 2>&1
в виде двух строк
9c 01 4b 46 7f ff 04 10 7a : crc=7a YES
9c 01 4b 46 7f ff 04 10 7a t=25750

Мне же необходимо выделить, чему равно t (в данном случае это 25750).
Как это реализовать?
Спасибо заранее!
  • Вопрос задан
  • 4854 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
merryjane
@merryjane
Системный администратор
cat /sys/bus/w1/devices/22-*/w1_slave 2>&1 | awk -F'=' '/t=/ {print $2}'

То-есть передаем через pipe на awk, который обрабатывает построчно текст, где осуществляем поиск по t=. В качестве разделителя принимаем знак = (опция -F'=') и выводим соответственно вторую группу символов из строки, то-есть все после знака равно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@bondbig
grep+sed/awk/cut на выбор по вкусу.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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