Следующий сценарий является намного более чистым способом получить вывод, который Вы хотите.
#!/usr/bin/env bash
(($# == 0)) && {
echo "Usage: $0 <page_count>"
exit 1
} >&2
# nTotal = $1 rounded up to a multiple 8
nTotal=$(($1 + 7))
nTotal=$((nTotal - nTotal % 8))
nHalf=$((nTotal / 2))
nQuarter=$((nTotal / 4))
# print page numbers in groups of 4, 2 groups at a time
for ((x=0; x < nQuarter; x+=2)); do
printf '%du,%du\n%d,%d\n' \
$((x + 1)) $((nTotal - x)) $((nHalf - x)) $((nHalf + x + 1))
printf '%du,%du\n%d,%d\n' \
$((nTotal - (x + 1))) $((x + 2)) \
$((nHalf + x + 2)) $((nHalf - x - 1))
done
$ ./imposition8 16
1u,16u
8,9
15u,2u
10,7
3u,14u
6,11
13u,4u
12,5
Я переписал Ваш сценарий, потому что было несколько проблем с оригиналом.
Вы использовали не -sh
совместимый bash
определенный синтаксис, таким образом, я исправил строку хижины для соответствия.
Во всей вещи можно выполнить чистая bash
. Использование нескольких tr
вызовы, внешнее awk
, и bc
неэффективно. В частности, необходимо знать это bash
и даже совместимый POSIX sh
может сделать математику внутренне.
Проблема может быть связана со шрифтами и рисунком вектора в Linux (Каир).
Если Вы автовходите и автоматически запускаете как, я делаю, первое, что нужно сделать состоит в том, чтобы остановить автоматический запуск athe.
В Вашем ~/.bash-profile
если существует a startxfce4
управляйте, прокомментируйте его.
#if [[ -z $DISPLAY ]] && ! [[ -e /tmp/.X11-unix/X0 ]] && (( EUID )); then
# exec nohup startxfce4 > .xlog & vlock
#fi
Также проверьте ~/.xinitrc
Вы, возможно, должны переключиться на альтернативную консоль и вход в систему в как корень или вход в систему от удаленного компьютера, или добавить systemd.unit=rescue.target
к параметрам ядра inyour загрузчик, чтобы сделать это.
Когда сделанная перезагрузка и входит startxfce4
после достижения многопользовательского в начальной загрузке.
Если Вы видите libpng15.so.15: cannot open shared object file
в выводе у Вас, вероятно, есть конфликт рисования вектора, вероятный a cairo
пакет от archlinux,org/AUR
─ установленный, чтобы настроить, как Ваша система делает шрифты..
Как зафиксировать?
Относительно простым способом является также замена пакеты шрифтов от archlinux,org/AUR
с новым пакетом archlinux пользователем bohoomil в archlinux.org/wiki
как Infinality: простой способ
Если Вы являетесь суетливыми о том, как шрифты появляются на экране, несомненно, прочитают сообщения формы и пользовательские примечания, прежде чем Вы решите сделать это.
Wiki покрывает то, что Вы необходимо сделать, но посмотреть на эти примечания beore, Вы запускаете:
/etc/pacman.conf
в его репозиторийarchlinux,org/AUR
но это будет сделано как часть установки.sudo pacman -Syy
после обновления 'pacman/conf'sudo pacman -Sd ⋯
) некоторая установка пакета (пакетов).sudo pacman -Syu infinality-bundle
sudo pacman -Sd infinality-bundle
⁂ используйте с осторожностью!Удачи!
Как пример, вот мой pacman.log
с этого утра …
[2013-05-07 11:09] [PACMAN] Running 'pacman -Syu cairo'
[2013-05-07 11:09] [PACMAN] synchronizing package lists
[2013-05-07 11:09] [PACMAN] starting full system upgrade
[2013-05-07 11:09] [PACMAN] Running 'pacman -Syu cairo'
[2013-05-07 11:09] [PACMAN] synchronizing package lists
[2013-05-07 11:09] [PACMAN] starting full system upgrade
[2013-05-07 11:10] [PACMAN] removed cairo-cleartype (1.12.2-1)
[2013-05-07 11:10] [PACMAN] installed cairo (1.12.14-4)
[2013-05-07 11:10] [PACMAN] Running 'pacman -Syu infinality-bundle'
[2013-05-07 11:10] [PACMAN] synchronizing package lists
[2013-05-07 11:10] [PACMAN] starting full system upgrade
[2013-05-07 11:14] [PACMAN] Running 'pacman -Sd infinality-bundle'
[2013-05-07 11:15] [PACMAN] removed freetype2-infinality (2.4.10-1)
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] Check for dead symlinks and leftover files
[2013-05-07 11:15] [ALPM-SCRIPTLET] in /etc/fonts/conf.d/
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [PACMAN] removed fontconfig (2.10.92-4)
[2013-05-07 11:15] [ALPM] warning: /etc/fonts/conf.d/52-infinality.conf saved as /etc/fonts/conf.d/52-infinality.conf.pacsave
[2013-05-07 11:15] [PACMAN] removed fontconfig-infinality (1-20130104)
[2013-05-07 11:15] [PACMAN] removed cairo (1.12.14-4)
[2013-05-07 11:15] [PACMAN] removed lib32-freetype2 (2.4.11-1)
[2013-05-07 11:15] [PACMAN] removed lib32-fontconfig (2.10.92-1)
[2013-05-07 11:15] [ALPM-SCRIPTLET] If you have been using freetype2-infinality from the AUR,
[2013-05-07 11:15] [ALPM-SCRIPTLET] the runtime file that came with it has been saved as
[2013-05-07 11:15] [ALPM-SCRIPTLET] /etc/profile.d/infinality-settings.sh.pacsave and the new
[2013-05-07 11:15] [ALPM-SCRIPTLET] one was installed in its place. You can manually delete
[2013-05-07 11:15] [ALPM-SCRIPTLET] infinality-settings.sh.pacsave as it is not needed anymore.
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] If you are using [multilib], please install/upgrade
[2013-05-07 11:15] [ALPM-SCRIPTLET] lib32-freetype2-infinality-ultimate, too.
[2013-05-07 11:15] [PACMAN] installed freetype2-infinality-ultimate (2.4.11-3)
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] Fontconfig-ultimate configuration is done via
[2013-05-07 11:15] [ALPM-SCRIPTLET] /etc/fonts/conf.avail, /etc/fonts/conf.avail.infinality and
[2013-05-07 11:15] [ALPM-SCRIPTLET] conf.d. Read /etc/fonts/conf.d/README for more information.
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] Configuration via /etc/fonts/local.conf is still possible,
[2013-05-07 11:15] [ALPM-SCRIPTLET] but is no longer recommended for options available in conf.avail.
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] Main systemwide configuration should be done by symlinks, e.g.
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] # cd /etc/fonts/conf.d
[2013-05-07 11:15] [ALPM-SCRIPTLET] # ln -s ../conf.avail/XX-foo.conf
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] In most cases default settings should suffice.
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] Custom user based configuration should be done in the same way,
[2013-05-07 11:15] [ALPM-SCRIPTLET] using XDG directory structure, e.g.
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] $ cd /root/.config/fontconfig/conf.d
[2013-05-07 11:15] [ALPM-SCRIPTLET] $ ln -s ../conf.avail/XX-foo.conf
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] A few examples can be found in
[2013-05-07 11:15] [ALPM-SCRIPTLET] /usr/share/doc/fontconfig/infinality-ultimate/fontconfig.
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] For further information about fontconfig-infiinality-ultimate, see
[2013-05-07 11:15] [ALPM-SCRIPTLET] /usr/share/doc/fontconfig-infinality-ultimate/README.html
[2013-05-07 11:15] [ALPM-SCRIPTLET] Check also https://wiki.archlinux.org/index.php/Fonts.
[2013-05-07 11:15] [ALPM-SCRIPTLET]
[2013-05-07 11:15] [ALPM-SCRIPTLET] updating font cache... done.
[2013-05-07 11:15] [PACMAN] installed fontconfig-infinality-ultimate (2.10.92-8)
[2013-05-07 11:15] [PACMAN] installed cairo-infinality-ultimate (1.12.14-5)
[2013-05-07 11:15] [PACMAN] installed lib32-freetype2-infinality-ultimate (2.4.11-2)
[2013-05-07 11:15] [PACMAN] installed lib32-fontconfig-infinality-ultimate (2.10.92-2)
[2013-05-07 11:18] [PACMAN] Running 'pacman -Syu lib32-freetype2-infinality-ultimate'
[2013-05-07 11:18] [PACMAN] synchronizing package lists
[2013-05-07 11:18] [PACMAN] starting full system upgrade
[2013-05-07 11:18] [PACMAN] reinstalled lib32-freetype2-infinality-ultimate (2.4.11-2)