Вы можете использовать Python, как в этом вопросе
python -c 'print "abcdabcva".count("ab")'
Или если вы работаете с переменными оболочки:
python -c 'print("""'"$STRING"'""".count("""'"$SUB_STRING"'"""))'
В вашем случае:
python -c 'print """0: asus-wlan: Wireless LAN
Soft blocked: no
Hard blocked: no
1: asus-bluetooth: Bluetooth
Soft blocked: no
Hard blocked: no
2: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
113: hci0: Bluetooth
Soft blocked: no
Hard blocked: no""".count("""Bluetooth
Soft blocked: no
Hard blocked: no""")'
Я не знаю ни одной утилиты, которая делает это (за исключением, может быть, xdotool key Caps_Lock
? ), но тем временем вы можете скомпилировать эту маленькую программу сcc xkb_unlock.c -s -lX11 -o./xkb_unlock
(при условии, что вы установили компилятор и пакеты разработки libc и xorg )и используйте его как просто ./xkb_unlock
.
xkb_unlock.c
#include <X11/Xlib.h>
#include <X11/XKBlib.h>
#include <err.h>
#include <stdlib.h>
int main(void){
Display *dpy;
if(!(dpy = XOpenDisplay(0)))
errx(1, "cannot open display '%s'", XDisplayName(0));
XkbLockModifiers(dpy, XkbUseCoreKbd, 0xff, 0);
XSync(dpy, False);
}