Если у вас есть 3 файла, как в вашем примере, вы можете сделать это с помощью join
магия. Сначала напишите имена файлов с разделителями табуляции в выходной файл:
for i in File*; do printf "\t%s" "$i" >> RES; done
Добавить пустую строку для фактических результатов:
printf '\n' >> RES
Используйте join
на File1
и File2
и перенаправьте вывод во временный файл:
join -a1 -a2 -e0 <(sort File1) -o 0 1.2 2.2 <(sort File2) > TEMP_FILE
А теперь снова используйте его с выводом из приведенной выше команды, иFile3
(вы также можете использовать канал(|
)здесь):
join -a1 -a2 -e0 <(sort TEMP_FILE) -o 0 1.2 1.3 2.2 <(sort File3) >> RES
И замените пробелы табуляцией вRES
:
tr ' ' '\t' < RES > FINAL_RES
Ваши результаты находятся вFINAL_RES
:
$ cat FINAL_RES
File1 File2 File3
foo 12 23 35
jhdfeg 25 45 0
kjfdgkl 37 0 0
Это работает для меня, когда после пробуждения все звуковые выходы / приемники HDMI либо «отключены», «недоступны», либо просто исчезли:
xrandr --output HDMI-1 --auto --set "audio" on
Примечание :Все остальное не удалось , включая
~/.config/pulseaudio/*
pulseaudio -k
pulseaudio --start
pulseaudio -D
Единственное, что я пробовал/не буду пробовать, это запускать pulseaudio в системном -широком режиме.