Я пытаюсь вывести текст журнала на вкладки терминала gnome из командной строки. Это может быть полезно для сохранения данных сеанса и последующего восстановления.
Вот пример:
#! /bin/bash
long_text=$(awk "BEGIN { for (i = 1; i < 120; i++ ) { printf \"%s\", \"1234567890\" } }")
cmd="bash -c \"stty cols 159; echo \\\"$long_text\\\"; tput cols; exec bash\""
gnome-terminal --maximize --tab -t A -e "$cmd" --tab -t B -e "$cmd"
Проблема, с которой я столкнулся, заключается в том, что только последняя вкладка (вкладка B) изначально будет учитывать ширину столбца 159. Первая вкладка (вкладка A ) использует ширину столбца 80. Вот снимок экрана вкладки A:
А вот вкладка B:
Как вывести текст также на вкладку A, используя 159 столбцов?
Можно изменить предпочтения профиля для соответствия требованиям довольно легко. Выберите редактирование-> предпочтения Профиля из меню и корректируйтесь для соответствия требованиям как показано ниже.
Если Вы предпочитаете универсальное решение с помощью командной строки, можно попробовать fold
для изменения ширины столбца.
формат:
fold --width=width_of_column filename
, Например:
fold --width=120 file.txt
Это сделает ширину столбца как 120
.
Вот тест:
$ head -1 file.txt | wc -m
143
$ head -1 file.txt | fold --width=130 | wc -l
2
$ head -1 file.txt | fold --width=130 | head -1 | wc -m
131
Здесь 131
происходит из-за включения \n
в первой строке при подсчете wc
.
Проверка man fold
для получения большей идеи о fold
.