Что ж, решение найдено:
В grub нажмите клавишу E , когда Установка выделена. Запись должна выглядеть так:
setparams 'Installation'
set gfxpayload=keep
echo 'Loading kernel...'
linuxefi /boot/x86_64/loader/linux splash=silent
echo 'Loading initial ramdisk...'
initrdefi /boot/x64_86/loader/initrd
Добавьте nomodeset в строку, которая начинается с linuxefi , это выглядит так:
setparams 'Installation'
set gfxpayload=keep
echo 'Loading kernel...'
linuxefi /boot/x86_64/loader/linux splash=silent nomodeset
echo 'Loading initial ramdisk...'
initrdefi /boot/x64_86/loader/initrd
Наконец, нажмите F10 для загрузки прогона. Это помогло мне.
Только Awk:
$ awk -F, 'BEGIN{OFS=FS} {a[$1] = a[$1] == "" ? $2 : a[$1] FS $2} END {for(i in a) print i,a[i]}' file
A,val1,val2,val3
B,val1,val2,val3
Обратите внимание, что порядок вывода не гарантируется -, это легко исправить с помощью GNU awk, но сложнее с другими реализациями. Входные данные не нужно сортировать.
В противном случае с помощью массива данных GNU
datamash -t, groupby 1 collapse 2 < file
(если ввод не отсортирован, добавьте-s
)или с Миллером
mlr --nidx --fs ',' nest --implode --values --across-records --nested-fs ',' -f 2 file
или более компактно в более поздних версиях
mlr --nidx --fs ',' nest --ivar ',' -f 2 file
Использование любого awk в любой оболочке на каждом сервере Unix и сохранение порядка строк вывода при одновременном хранении в памяти только 1 блока с ключом $1 -:
$ awk '
BEGIN { FS=OFS="," }
$1!=p { printf "%s%s", rec, sep; rec=p=$1; sep=ORS }
{ rec = rec OFS $2 }
END { print rec }
' file
A,val1,val2,val3
B,val1,val2,val3