Как сделать выходной файл с именем команды awk уникальным?

Моя проблема заключается в постоянном переключении jacksense на переднем порте на «наушники» (, даже когда разъем на передней панели не подключен )и неисправной материнской плате MSI, на которую мне отказали в RMA. Даже если в конфиге отключили jack sense, закомментировав его в default.pa. Ужасным обходным путем было использование передней панели и постоянное потрескивание. Я перепробовал все работы -, перечисленные здесь и повсюду в гугле.

Я попробовал hdajackretask, который не работал в Debian Stretch, однако все, что требовалось, это создать /lib/firmware. Когда это будет сделано, сценарий установки переопределения загрузки, который он создает в /tmp, правильно копирует туда файл.fw.

/etc/modprobe.d/hda -jack -retask.conf содержит:

# This file was added by the program 'hda-jack-retask'.
# If you want to revert the changes made by this program, you can simply erase this file and reboot your computer.
options snd-hda-intel patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw

(который ожидает файл в каталоге /lib/firmware,)

Я не уверен, что другие параметры snd -hda -intel переопределяют или мешают этому, поэтому попробуйте отключить их, если это не поможет.

Мой файл прошивки выглядит так, не уверен, что мог бы просто использовать строфу [подсказка], так как я просто счастлив уничтожить эту штуку:

/lib/firmware/hda -jack -retask.fw

[codec]
0x10ec0892 0x1458a002 2

[pincfg]
0x11 0x99430130
0x12 0x4037c540
0x14 0x01014010
0x15 0x01011012
0x16 0x01016011
0x17 0x411111f0
0x18 0x01a19050
0x19 0x02a19060
0x1a 0x0181305f
0x1b 0x43f1413f
0x1c 0x411111f0
0x1d 0x4045e601
0x1e 0x01452140
0x1f 0x411111f0

[hints]
jack_detect=no

Я не могу проголосовать за эти ответы или прокомментировать их. Если вы читаете это и пробовали все остальные перечисленные решения, как и я, попробуйте переназначить разъем на «не подключен». В моей задаче hdajackretask это называлось «Зеленая лицевая сторона наушников»

.
0
07.07.2019, 05:33
1 ответ

Вот как это можно сделать из командной строки:

awk -F, '
BEGIN {
    for (1=3; i<ARGC; i++) {
        split(ARGV[i],parts,/[_.]/)
        num = parts[2]+0
        max = (max > num ? max : num)
        ARGV[i] = ""
    }
    ARGC -= 2
    out = "exports/output_" max+1 ".txt"
    print out
}
NR==FNR { a[$0]++; next }
$1 in a { print > out }
' uploads/a.txt uploads/b.txt exports/output_*.txt

Я оставлю это вам, чтобы добавить все, что вам нужно, чтобы вызвать его из PHP или откуда-либо еще.

Вышеприведенное предполагает, что все файлы в вашем каталоге экспорта генерируются этим сценарием или иным образом имеют один и тот же формат output_<number>.txt.

Я изменил имя вашего массива с seen[]на a[], потому что seen[]идиоматически используется для идентификации уникальных значений в одном наборе входных данных (, например. в одном файле ), чтобы не проверять, появляется ли значение в одном файле, а затем снова во втором файле, когда вы его используете. Для этой цели чаще всего используется имя a[].

0
28.01.2020, 03:28

Теги

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