Мне удалось решить проблему, очистив драйверы Nvidia :sudo apt-get purge nvidia*
Это заставило систему автоматически переключиться на драйверы Nouveau. Затем я просмотрел диспетчер драйверов (в графическом интерфейсе системных настроек )и выбрал там новейший драйвер Nvidia. После того, как изменения были применены, я перезапустил X-сервер (Ctrl+Alt+Backspace ), и теперь все в порядке.
Вы можете использовать команду paste
и выполнить -замену:
table="$(paste -d ';' <(echo -e "$columnA") <(echo -e "$columnB") <(echo -e "$columnC"))"
echo "$table"
выдаст вывод как:
A1;B1;C1
A2;B2;C2
A3;B3;C3
Также не забудьте использовать флаг -e
с echo
, иначе он не будет учитывать \n
, тем более и вы получите вывод:
A1\nA2\nA3;B1\nB2\nB3;C1\nC2\nC3
Или используйте printf:
table="$(paste -d ';' <(printf "$columnA") <(printf "$columnB") <(printf "$columnC"))"
Использование GNU datamash
, xargs
,tr
:
$ table=$(printf '%b\n' "$columnA" "$columnB" "$columnC" | xargs -n3\
| datamash -t' ' transpose | tr ' ' ';')
$ table="${table//$'\n'/\\n}"
$ echo "$table"
A1;B1;C1\nA2;B2;C2\nA3;B3;C3
printf '%b\n'...
печатать значения, разделенные символами новой строки xargs -n3
объединить три значения через пробел в строке datamash -t' ' transpose
транспонировать вывод tr ' ' ';'
заменить пробелы точкой с запятой ${table//$'\n'/\\n}
заменить новые строки литералами\n