Так, здесь у меня есть простая команда:
xset -q | grep -e Num -e Caps
Вывод команды:
00: Caps Lock: off 01: Num Lock: on 02: Scroll Lock: off
То, что я хочу знать, - то, что, там любые возможности печати только на и от частей, такой как,
off
после Caps Lock
on
после Num Lock
Например, если я должен получить состояние Caps Lock, я должен выполнить команду, таким образом, что вывод только
off
или on
Используя grep
:
% xset -q | grep -Eo '(Caps Lock|Num Lock):[[:blank:]]+[^[:blank:]]+'
Caps Lock: off
Num Lock: on
(Caps Lock|Num Lock)
соответствия или Caps Lock
или Num Lock
вышеупомянутое будет сопровождаться :
и затем класс символов [[:blank:]]
соответствия, которые один или несколько располагает с интервалами, или вкладка
Их [^[:blank:]]+
будет соответствовать одному или нескольким символам до следующего пространства или вкладки т.е. on
или off
.
Можно использовать AWK также. Это позволяет печатать столбцы (которые, как по умолчанию предполагается, являются разделенным пространством)
xieerqi:$ xset -q | awk '/Caps/'
00: Caps Lock: off 01: Num Lock: off 02: Scroll Lock: off
xieerqi:$ xset -q | awk '/Caps Lock/ {print $4" "$8}'
off off