Суммируйте значения в столбцах csv

краткий ответ:

поместите это в свою конфигурацию

ao=pulse

объяснение

По умолчанию mplayer использует Alsa в качестве интерфейса вывода звука, и ваш звуковой микшер, вероятно, использует импульсный звук. Это работает, потому что у импульсного аудио есть интерфейс alsa для обратной совместимости. Когда вы говорите mplayer использовать настоящий импульсный аудиоинтерфейс, он может посылать импульсные сигналы только для изменения громкости этого экземпляра mplayer и ничего больше. Тогда изменение громкости больше не изменит глобальную громкость, а ползунок громкости приложения. Когда вы откроете pavucontrolи измените громкость в mplayer, вы сможете увидеть, как изменится громкость приложения.

Если в вашей системе фактически установлена ​​только Alsa, вам, вероятно, следует это изменить. Если это невозможно, тогда softvol=true, вероятно, будет вашим решением.

1
25.02.2020, 23:39
1 ответ
$ cat tst.awk
BEGIN { FS=OFS="," }
NR==1 { numRows = split($0,keys); next }
{
    for (i=1; i<=NF; i++) {
        sum[i,$i]++
        vals[$i]
    }
}
END {
    for (rowNr=1; rowNr<=numRows; rowNr++) {
        printf "%s", keys[rowNr]
        for (val in vals) {
            printf "%s%d %s", OFS, sum[rowNr,val], val
        }
        print ""
    }
}

$ awk -f tst.awk file
col1,1 disabled,2 enabled,1 N/A,0 active
col2,2 disabled,1 enabled,1 N/A,0 active
col3,1 disabled,1 enabled,0 N/A,2 active

или, возможно, более полезно:

$ cat tst.awk
BEGIN { FS=OFS="," }
NR==1 { numRows = split($0,keys); next }
{
    for (i=1; i<=NF; i++) {
        sum[i,$i]++
        vals[$i]
    }
}
END {
    printf "%s", "key"
    for (val in vals) {
        printf "%s%s", OFS, val
    }
    print ""

    for (rowNr=1; rowNr<=numRows; rowNr++) {
        printf "%s", keys[rowNr]
        for (val in vals) {
            printf "%s%d", OFS, sum[rowNr,val]
        }
        print ""
    }
}

$ awk -f tst.awk file
key,disabled,enabled,N/A,active
col1,1,2,1,0
col2,2,1,1,0
col3,1,1,0,2
2
28.04.2021, 23:22

Теги

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