Если вы хотите сделать это за один проход, этот sed
скрипт будет работать:
sed '/^[^ ]* [^ ]*$/{H;d;};G;s/ \([^ ]*\)\n.*\n\1 \([[:print:]]*\).*/ \1 \2/;P;d' file2 file1
Что он делает? Он собирает все строки file2
в пространстве хранения в качестве своего рода таблицы поиска, затем добавляет эту таблицу к каждой строке пространства шаблонов и добавляет шестой столбец, если шаблон найден. Подробно:
/^[^ ]* [^ ]*$/
соответствует строкам с двумя столбцами, только для тех, выполняется следующая команда (команды внутри {}
{H;d;}
добавляет строки в область хранения и останавливает дальнейшую обработку строки, поэтому остальная часть скрипта выполняется только для строкfile1
G
добавляет пространство хранения с нашей таблицей поиска к пространству шаблонов s/ \([^ ]*\)\n.*\n\1 \([[:print:]]*\).*/ \1 \2/
добавляет шестой столбец для соответствия P
печатает строку без присоединенной таблицы d
подавляет другой вывод (опция -n
сделала бы то же самое)Откройте терминал и запустите эти
pulseaudio --kill
pulseaudio --start
Это решило мою проблему в Ubuntu 20.04. Но, к сожалению, должно быть автоматическое определение, которое не работает. Слегка разочарован
В Ubuntu 20.04 следующие шаги работали
Подробнее здесь .
sudo apt-get install --reinstall alsa-base pulseaudio
sudo alsa force-reload
sudo apt purge timidity-daemon
sudo apt install alsa-tools-gui
sudo hdajackretask
Затем следуйте параметрам
set Radio button of Parser hints and
- jack_detect = yes
- trigger_sense = yes
- primary_hp = yes
- multi_io = yes
- add_hp_mic = yes
- then Press >> "Apply now" & Press >> "Install boot override"
reboot
Прочитайте обо всех параметрах строк подсказок здесь .