Управление данными в Linux

Чтобы звук заработал, согласно аналогичному сообщению на форумах 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

См. также:

FreeBSD :нет автоматического переключения между звуком в динамике и встроенным -в разъем для наушников

1
01.08.2019, 04:14
2 ответа
$ 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
1
27.01.2020, 23:41

команда

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
0
27.01.2020, 23:41

Теги

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