# Find the URL of the .deb file
url=$(wget -O- -q --no-check-certificate https://github.com/elbersb/otr-verwaltung/downloads |
sed -ne 's/^.*"\([^"]*otrverwaltung_[^"]*_all\.deb\)".*/\1/p')
case $url in
http://*|https://*) :;;
/*) url=https://github.com$url;;
*) url=https://github.com/elbersb/otr-verwaltung/$url;;
esac
# Create a temporary directory
dir=$(mktemp -dt)
cd "$dir"
# Download the .deb file
wget "$url"
# Install the package
sudo dpkg -i "${url##*/}"
# Clean up
rm "${url##*/}"
cd /
rmdir "$dir"
Можно изменить позиции табуляции в терминале с помощью терминальной базы данных, которая можно получить доступ к нескольким путям от C++ (например, ncurses). Можно также получить доступ к нему от использования оболочки tput
.
Вы хотели бы запуститься путем очистки вкладок (tput tbc
). Затем переместите курсор в каждый столбец, в котором Вы хотите позицию табуляции (tput hpa 10
для столбца 10, например). Затем наконец установите позицию табуляции (tput hts
). Повторите расположение и установку позиции табуляции для каждой позиции табуляции, которую Вы хотите. Пример:
echo -e '0\t1\t2\t3\t4\t5\t6\t7\t8'
tput tbc
for ((i=0; i<`tput cols`; i+=10)); do
tput hpa $i
tput hts
done
tput hpa 0
echo -e '0\t1\t2\t3\t4\t5\t6\t7\t8'
Так, печатный символ табуляции фиксируется в исходном коде программы. Я не думаю, что дисплей символа табуляции в ударе может быть отредактирован в установке оболочки.
Я просто предполагаю здесь, но я думаю, что представление символа табуляции встраивается в наборе кодировки символов, который использует Ваша терминальная программа. Набор символов ASCII определяет символ табуляции, но набор символов UTF-8 не кажется. Я не думаю, что любая кодировка символов установила, использует другую ширину для символа табуляции, таким образом, я думаю, что Вам не повезло, если Вы не хотите записать свой собственный набор символов и использовать его, но это походит на неизбежную головную боль.
Вместо этого имейте Вас, попробовал pr
команда?
PR (1) пользователь управляет PR (1)
PR ИМЕНИ - преобразовывает текстовые файлы для печати
Для свопинга символов табуляции для 10 пробелов Вы могли сделать этот:-
./a.out | pr --expand-tabs=10 -t
pr ..
непосредственно на файле с разделением табуляцией. например. ./a.out > output.txt ; pr --expand-tabs=10 -t output.txt
– Alex Leach
24.10.2012, 20:43
C++ не ответственен за ширину. Мне ввели более длительный ответ, но действительно стало ненужным, когда я сделал тест...
В основном использовать tabs
(часть ncurses5 пакета)..., например.
zsh> tabs 4 # 4 space width tabs
zsh> ./a.out
Это отформатирует к Вашей ширине, которую Вы хотите автоматически. Никакая потребность передать по каналу (который не помогает, если у Вас есть интерактивная работа).
tabs
команда прибывает из того, в случае, если кому-то не установили ее. Не стесняйтесь возвращаться мое редактирование, если Вы не одобряете.
– derobert
24.10.2012, 22:25
Как показано в других ответах, утилита tabs
- это более простой способ указать позиции табуляции для приложений (таких как ваша оболочка), которые не устанавливают свои собственные позиции табуляции. POSIX определяет утилиту tabs
(а также tput
), но ничего не говорит о terminfo или поведении tput
для этой цели. (X / Open Curses, который является отдельным стандартом, может что-то сказать).
Но чтобы использовать эти позиции табуляции, вы также должны убедиться, что ваш терминал настроен на использование аппаратных вкладок. Если вы выполните stty -a
, найдите tab0
в выводе:
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
Согласно руководству stty
, вы сможете установить tab0
или tab3
. POSIX определяет tab1
и tab2
, но только tab0
(вкладки оборудования) и tab3
(вкладки программного обеспечения) вам пригодятся.
tab0 tab3
Выбор политики расширения вкладок.tab0
отключает раскрытие вкладок, аtab3
включает его.
Дополнительная литература:
tput tbc
tput hpa 10
tput hts
tput hpa 20
tput hts
... в мой.bashrc
и просто быть счастливым? – yo' 24.10.2012, 20:46