Чтобы звук заработал, согласно аналогичному сообщению на форумах FreeBSD, вы должны выполнить:
sudo sysctl dev.hdac.0.polling=1
После этого изменения звук начал работать при использовании разъема для наушников (Right Analog ).
Для вывода звука на внутренние динамики (Внутренний аналоговый ), пришлось сделать:
sudo sysctl hw.snd.default_unit=1
Чтобы иметь эти конфигурации во время загрузки, добавьте их в/etc/sysctl.conf
:
dev.hdac.0.polling=1
hw.snd.default_unit=1
См. также:
$ awk -F: 'a[$2] {a[$2] = a[$2]" "$1; next};
{a[$2]=$1};
END {for (s in a) { print "data " a[s] " are " s }}' input.txt
data xxxx are offline
data txtx are disable
data a1b1 a2b2 are online
data wxyz are enable
При этом используется ассоциативный массивa
(со статусом $2 в качестве ключа )для хранения хостов ($1 ), которые имеют этот статус. Если элемент массива для данного статуса уже существует, добавьте к нему пробел и имя хоста. В противном случае просто создайте этот элемент с этим именем хоста.
(я предполагаю, что это имена хостов -не имеет значения. код работает с данными, а не с определением)
Когда весь входной файл прочитан, он распечатывает массив в желаемом формате.
Обратите внимание, что поскольку ассоциативные массивы в awk
не хранятся в каком-либо определенном порядке, выходные данные неупорядочены. Если вам нужно его отсортировать, вы можете сделать это в скрипте awk, но проще просто направить вывод в sort
.
Если вас интересует только статус online
, вы можете направить вывод на grep
или сделать это в сценарии awk. например.
$ awk -F: '!/online/ {next};
a[$2] {a[$2] = a[$2]" "$1; next};
{a[$2]=$1};
END {for (s in a) { print "data " a[s] " are " s }}' input.txt
data a1b1 a2b2 are online
команда
for i in `awk -F ":" '{print $NF}' filename | sed '/^$/d'| awk '{if(!seen[$NF]++)print }'`; do awk -v i="$i" -F ":" '$NF == i{print $1}' filename |sed "N;s/\n/ /g"| awk -v i="$i" '{print "data" " " $0" " "are "i}'; done
выход
data a1b1 a2b2 are online
data xxxx are offline
data wxyz are enable
data txtx are disable