Какая команда позволяет мне читать pdf из stdin?

Самым простым инструментом здесь будет zsh (как bash, только лучше), с его причудливым globbing и zmv функцией. Запустите ее из каталога верхнего уровня, в котором вы хотите переименовать файлы.

autoload -U zmv
zmv '(**/)[Ss][Ff][0-9]##-[0-9]##[- ]#(*)' '$1$2'

Объяснение: **/ - это любая строка ведущих каталогов. Затем идет шаблон sf (без учета регистра), за которым следует одна или несколько цифр, тире и еще одна цифра, за которой следуют тире и пробелы. Наконец, может быть любой суффикс *. Цифры в замене относятся к группам в скобках в шаблоне.


В качестве альтернативы вы можете использовать prename (скрипт переименования на основе Perl, доступный в Debian и Arch Linux, в других дистрибутивах может потребоваться отдельная установка). Вам нужно будет объединить его с find, чтобы собрать список файлов для переименования. Не имеет значения, если rename переданы несовпадающие файлы, он пропустит файлы, для которых переименование не требуется.

find -name '[Ss][Ff]*' -exec prename 's!/!sf[0-9]+-[0-9]+[- ]*!!i' {} +

3
23.03.2017, 13:33
1 ответ

Zathura ( archwiki ) - это минималистичный просмотрщик документов (PDF / PS / Djvu / CB). Он может отображать документы из стандартного ввода.

cat foo.pdf | zathura - 

Версия в моей системе временно сохраняет канал в / tmp, поэтому отображаемый документ доступен для поиска. После этого временный файл очищается и имеет достаточно безопасные разрешения, но это может быть проблемой безопасности.

$ ls -l /tmp/z*
-rw------- 1 user user 1640882 Mar 23 06:26 /tmp/zathura.stdin.97PFXY

Он доступен в стандартных репозиториях Arch, Debian и Ubuntu.

9
27.01.2020, 21:12

Теги

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