Сценарий оболочки для слияния файлов с теми же именами

Эмулятор терминала, который Вы используете, может также завинчивать с цветами. У меня была цветная проблема с энергией в 256 цветовых режимах, и это закончило тем, что было консольным эмулятором терминала с KDE, изменял цвета по умолчанию, и это делало системы цветов энергии всеми странный.

Я закончил тем, что имел необходимость вручную выбрать цвета к ожидаемым цветам, чтобы заставить это работать с ним.

У меня была лучшая удача со следующим:

  1. экран-256color
  2. вынудите tmux принять 256 цветов: tmux-2
  3. используйте urxvt для терминала
  4. И следующее, добавленное к.Xresources

~/.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
2
01.10.2014, 00:08
2 ответа

Вот краткий пример использования команды '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 в подкаталоге - это ваш объединенный файл.

0
27.01.2020, 22:05

Существует множество инструментов для объединения файлов PDF, один из них является PDFunite . Простой одноклассник, который нужно делать то, что вам нужно с этим инструментом, выглядит следующим образом:

for file in file.*_*.pdf; do [[ -e ${file%_*}.pdf ]] && \
    continue || pdfunite ${file%_*}_*.pdf ${file%_*}.pdf; done

Я использую здесь Механизм расширения параметров $ {File% _ *} для удаления шаблона суффикса _ * Из сопоставленного имени файла и создания $ {File% _ *}. PDF как выходной файл.

3
27.01.2020, 22:05

Теги

Похожие вопросы