Простая вещь awk. Использование некоторых последовательностей ANSI для перемещения и очистки ...
#!/usr/bin/awk -f
BEGIN {
print "Stats:\n---------------------------------"
}
function clear() {
for (k in ar)
printf "\r\033[K\033[1A"
}
function stats() {
for (k in ar)
printf "%-10s: %d\n", k, ar[k]
}
/./{
clear()
if (!ar[$0])
ar[$0]=1
else
++ar[$0]
stats()
}
Образец выходного генератора:
#!/bin/bash
declare -a fr=(
apple
carrot
pear
)
range=${#fr[@]}
while ((1)); do
((x = RANDOM % range))
printf "%s\n" "${fr[$x]}"
sleep .5
done
Запуск от имени:
$ ./fruit_script | ./awk_script
Расширен с помощью цветов, скрытого курсора и т. Д.:
#!/bin/bash
quit()
{
printf "\r\033[K\033[?25h"
}
trap quit SIGINT
awk '
BEGIN {
width=3
printf "\033[?25l"
print "Stats: (Ctrl-c to quit)\n---------------------------------"
}
function clear() {
for (k in ar)
printf "\r\033[K\033[1A"
}
function stats() {
for (k in ar)
printf "\033[0;34m%-*s\033[0m: \033[1;31m%d\033[0m\n", width, k, ar[k]
}
/./{
if (length($0) + 1 > width)
width=length($0) + 1
clear()
if (!ar[$0])
ar[$0]=1
else
++ar[$0]
stats()
}
'
Похоже, я сам все испортил. К счастью, я нашел проблему:
Как я упоминал ранее, у меня были некоторые проблемы с подключением Bluetooth-мыши, поэтому я внес пару изменений. К сожалению, я забыл удалить ранее вставленные строки в /etc/pulse/default.pa
, которые были следующими:
module-bluetooth-policy
module-bluez5-device
module-bluez5-discover
После удаления этих строк и выполнения следующих команд все снова работает нормально.
~$ sudo vim /etc/pulse/default.pa
~$ ## remove the mentioned lines
~$ cd $HOME
~$ mkdir.pulse
~$ pulseaudio --kill
~$ pulseaudio --start
~$ sudo reboot now