Изменить семейство шрифтов для сообщений Telegram

gawk '{
    sub(/#.*\.djvu/, "#" $1 + 1 ".djvu")
    print
}' FPAT='[0-9]+\.djvu' input.txt

Идея следующая:

  • извлечь расширение .djvuс начальными цифрами из имени файла djvu, используя шаблон [0-9]+\.djvu(FPAT). Пример:исходное имя файла — #all_24223_to_00243.cpc0002.djvu, извлеченная часть будет 0002.djvu.
  • заменить предыдущее djvuимя файла #.*\.djvuна извлеченное, предварительно увеличив его на 1. Пример:взять целую строку $0и подставить #all_24223_to_00243.cpc0002.djvuвнутри нее, чтобы0002.djvu + 1(это выражение приводило к обычному числу 3, из-за того, как работает преобразование строки в число в gawk). Добавьте к нему знак #и расширение .djvu. Результат:#3.djvu.

Это решение будет работать только для строк с одним именем файла djvu, как в вашем образце ввода.

Вход

(bookmarks
 ("Cover"
  "#01.djvu" )
 ("Title page"
  "#all_24223_to_00243.cpc0002.djvu" )
 ("Preface"
  "#all_24223_to_00243.cpc0004.djvu" )

Выход

(bookmarks
 ("Cover"
  "#2.djvu" )
 ("Title page"
  "#3.djvu" )
 ("Preface"
  "#5.djvu" )
0
24.01.2020, 17:48
0 ответов

Теги

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