Лучшим решением был mutool, см. выше:
sudo apt install mupdf-tools pdftk
раскол:
mutool poster -y 2 input.pdf output.pdf
но тогда нужно перевернуть страницы влево:
pdftk output.pdf cat 1-endleft output rotated.pdf
Вставка этого вhttps://regexr.com/помогает улучшить отладку.
Вы не экранировали -
в диапазоне, так как -
используется для указания диапазона.
Старый:
cdrom:\[[a-zA-Z0-9\._-\(\) ]+\]/
Исправление:
cdrom:\[[a-zA-Z0-9\._\-\(\) ]+\]/
Вероятно, проблема заключается в размещении знака -
в вашем списке персонажей.
Вы уже использовали тот факт, что диапазоны символов могут быть выражены с помощью [start-end]
, например, [a-z]
является сокращением для [abcdefghijkl...xyz]
(, хотя см. предостережение ниже ). Это означает, что -
является специальным символом, и если он встречается между двумя «обычными» символами, он интерпретируется как указание на еще один диапазон, охватывающий эти два символа и все символы между ними.
Конечно, это работает только в том случае, если символ после -
лексикографически «позже» в порядке сортировки, чем предшествующий ему символ, что также является причиной вашего сообщения об ошибке (, вы увидите, что он идет если вместо этого вы скажете (-_
, хотя это не решит вашу проблему).
Поскольку вы, очевидно, хотите сопоставить литерал -
и в зависимости от того, как интерпретируются регулярные выражения в .nanorc
, вы либо
\-
), или [-etc]
или [etc-]
), что было бы стандартом в регулярных выражениях POSIX и GNU и, следовательно, наиболее вероятным решением в системе Linux . См., например,. здесь для дальнейшего использования.
Предупреждение:Утверждение выше «[a-z]
является сокращением для [abcdefghijkl...xyz]
не безусловно верно ! То, как интерпретируется диапазон, зависит от настроек локали, в частности от порядка сопоставления.
ABC...XYZ...abc...xyz
. Здесь [a-z]
на самом деле означает «все символы нижнего регистра». aAbBcC...xXyYzZ
. Здесь [a-z]
будет означать «все символы нижнего регистра и все символы верхнего регистра, кроме Z
.