Эмулятор терминала, который Вы используете, может также завинчивать с цветами. У меня была цветная проблема с энергией в 256 цветовых режимах, и это закончило тем, что было консольным эмулятором терминала с KDE, изменял цвета по умолчанию, и это делало системы цветов энергии всеми странный.
Я закончил тем, что имел необходимость вручную выбрать цвета к ожидаемым цветам, чтобы заставить это работать с ним.
У меня была лучшая удача со следующим:
~/.Xresources
URxvt*background: black
URxvt*foreground: white
URxvt*font: xft: Inconsolata:size=12
URxvt*transparent: false
URxvt*depth: 32
Попробуйте следующий сценарий, чтобы видеть, получаете ли Вы действительно 256 цветов.
#!/bin/bash
#
# This file echoes a bunch of color codes to the
# terminal to demonstrate what's available. Each
# line is the color code of one forground color,
# out of 17 (default + 16 escapes), followed by a
# test use of that color on all nine background
# colors (default + 8 escapes).
#
T='gYw' # The test text
echo -e "\n 40m 41m 42m 43m\
44m 45m 46m 47m";
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \
'1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \
' 36m' '1;36m' ' 37m' '1;37m';
do FG=${FGs// /}
echo -en " $FGs \033[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en "$EINS \033[$FG\033[$BG $T \033[0m";
done
echo;
done
echo
Вот краткий пример использования команды 'convert':
$ ls
files.txt TEST.pdf
TEST.pdf
- это Adobe PDF, который я получил из here. Это просто пример, который я использовал, чтобы заполнить остальные имена файлов.
Имена ваших файлов находятся в файле files.txt
$ cat files.txt
file.1111111_1.pdf file.1111111_2.pdf file.2222222_1.pdf file.2222222_2.pdf file.1234567_1.pdf file.1234567_2.pdf file.aaaaaaa_1.pdf file.aaaaaaa_2.pdf file.abcdefg_1.pdf file.abcdefg_2.pdf
Используя этот файл, я генерирую свои тестовые данные:
$ for i in $(<files.txt); do cp TEST.pdf $i; done
$ ls
file.1111111_1.pdf file.1234567_1.pdf file.2222222_1.pdf file.aaaaaaa_1.pdf file.abcdefg_1.pdf files.txt
file.1111111_2.pdf file.1234567_2.pdf file.2222222_2.pdf file.aaaaaaa_2.pdf file.abcdefg_2.pdf TEST.pdf
Теперь мы можем перебирать все файлы, которые соответствуют структуре ваших имен. Затем поместите их в соответствующий подкаталог. Затем мы используем команду 'конвертировать' для объединения этих PDF-файлов в один файл.
$ for pdf in $(ls *.*_*.pdf); do base=$(echo $pdf | cut -d_ -f1) ; \
[[ -d $base ]] || mkdir $base ; mv $pdf $base/ ; \
convert $base/*_*.pdf $base/$base.pdf ; done
$ ls
file.1111111 file.1234567 file.2222222 file.aaaaaaa file.abcdefg files.txt TEST.pdf
$ ls file.1111111/
file.1111111_1.pdf file.1111111_2.pdf file.1111111.pdf
file.11111111.pdf
в подкаталоге - это ваш объединенный файл.
Существует множество инструментов для объединения файлов PDF, один из них является PDFunite
. Простой одноклассник, который нужно делать то, что вам нужно с этим инструментом, выглядит следующим образом:
for file in file.*_*.pdf; do [[ -e ${file%_*}.pdf ]] && \
continue || pdfunite ${file%_*}_*.pdf ${file%_*}.pdf; done
Я использую здесь Механизм расширения параметров $ {File% _ *}
для удаления шаблона суффикса _ *
Из сопоставленного имени файла и создания $ {File% _ *}. PDF
как выходной файл.