Как я вставляю двоичные файлы в модуль v1.7

Мне нравится анализировать HTML с регулярными выражениями. Я не пытаюсь разбирать идиот HTML, который намеренно нарушен. Этот код является моим основным парсером (версия Perl):

$_ = join "",; tr/\n\r \t/ /s; s//>\n/g; s/\n ?\n/\n/g;
s/^ ?\n//s; s/ $//s; print

Он называется htmlsplit, разбивает HTML на строки, с одним тегом или фрагментом текста в каждой строке. Затем линии могут быть обработаны другими текстовыми инструментами и сценариями, такими как grep , sed , Perl и т. Д. Я даже не шучу :) Наслаждайтесь.

Достаточно просто переписать мой скрипт Perl-all-first Perl в приятную поточную вещь, если вы хотите обрабатывать огромные веб-страницы. Но это действительно не обязательно.

Бьюсь об заклад, я заберусь для этого.

HTML Split


Против моего ожидая, что это получило некоторые upvotes, поэтому я предлагаю несколько правильных выражений:

/(<.*?>|[^<]+)\s*/g    # get tags and text
/(\w+)="(.*?)"/g       # get attibutes

Они хороши для XML / XHTML.

С небольшими вариациями он может справиться с беспорядочным HTML ... или сначала конвертировать HTML -> XHTML.


Лучший способ записи регулярных выражений - в Lex / Yacc стиль, а не непрозрачные однострочные или прокомментированные многострочные чудовища. Я не делал этого здесь; эти им едва ли нужны.

1
задан agentgonzo 13 July 2018 в 10:35
поделиться

2 ответа

Вы можете подключить свои пользовательские файлы к тому и дополнительно определить набор команд для запуска при запуске pod (см. здесь ), чтобы скопировать файлы на их целевой путь.

Вы, конечно, также должны запустить команду, которая запускает вашу службу, в дополнение к тем, которые копируют ваши файлы.

0
ответ дан Gabriel Ruiu 17 August 2018 в 13:07
поделиться

Одним из способов было бы установить 1 или более томов в нужные места в контейнере, казалось бы, /web/static. Это, однако, полностью перезаписало бы все, поэтому вам нужно будет предоставить все файлы, а не только те, которые вы хотите перезаписать.

Пример:

apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - image: dex:2.10.0
    name: dex
    volumeMounts:
    - mountPath: /web/static # the mount location within the container
      name: dex-volume
  volumes:
  - name: dex-volume
    hostPath:
      path: /destination/on/K8s/node # path on host machine

Существует несколько типов типы хранилища для разных поставщиков облачных вычислений, посмотрите на https://kubernetes.io/docs/concepts/storage/volumes/ и посмотрите, есть ли что-то более специфичное для вашей среды, а не для хранения на диск.

Для чего это важно, создание собственного изображения, вероятно, будет самым простым решением.

2
ответ дан justcompile 17 August 2018 в 13:07
поделиться
  • 1
    можете ли вы привести пример или ссылку о том, как это сделать. Я посмотрел, думая, что смогу установить изображение контейнера на путь, но не смог найти ничего очевидного для меня. Перезаписать весь каталог в порядке. – agentgonzo 13 July 2018 в 11:46
  • 2
    верная вещь, отредактировала мой ответ – justcompile 13 July 2018 в 13:01
Другие вопросы по тегам:

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