Ja potrzebowałem przygotować 92 strony do druku. Czy wyszło szybciej? W przypadku jednorazowego wydruku może nie, ale za to przypomniałem sobie o pętlach, instrukcjach warunkowych, logicznych oraz algebraicznych w bashu, a to wszystko w jednym miejscu :).
Oto "broszurkowa formuła" w bashu. Wystarczy ją wkleić do pliku i wykonać.
#!/bin/bash
# n - liczba stron do wydruku
### zmień 0 na liczbę stron w pliku
n=0
# podnieś liczbę n do najbliższej podzielnej przez 4
while [ $[ $n%4 ] -gt 0 ]
do n=$[ n+1 ]
done
# wygeneruj ciąg, który należy wprowadzić do pola "Strony:"
echo -ne $n
echo -ne ", "
for i in `seq 1 $[ $n/4 ]`
do
echo -ne $[ $i*2 - 1 ]
echo -ne ", "
echo -ne $[ $i*2 ]
echo -ne ", "
echo -ne $[ $n - 2*$i + 1 ]
if [ $i -ne $[ $n/4 ] ]
then
echo -ne ", "
echo -ne $[ $n - 2*$i ]
echo -ne ", "
else
echo ""
fi
done