Как задать несколько разделов на одном диске; / tmp / data / usr swap?

Это регулярное выражение будет соответствовать всем числам, делящимся на три:

^([0369]|[147][0369]*([147][0369]*[258][0369]*)*([147][0369]*[147]|[258])|[258][0369]*([258][0369]*[147][0369]*)*([258][0369]*[258]|[147]))+$

Вот пример сеанса ipython с использованием этой конструкции:

In [1]: import re

In [2]: my_ids = '1, 2, 3, 4, 5, 6, 7'

In [3]: idres = [x[0] for x in re.findall(r'\b([0369]|[147][0369]*([147][0369]*[258][0369]*)*([147][0369]*[147]|[258])|[258][0369]*([258][0369]*[147][0369]*)*([258][0369]*[258]|[147]))+\b', my_ids)]

In [4]: idres
Out[4]: ['3', '6']

Это можно сделать, хотя - если вы уверены, что ваш ввод содержит только целые числа, разделенные запятыми (а не, скажем, слова), ответ от Florian Diesch содержит более здравый способ сделать это.

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

1
задан 5 December 2012 в 05:48

1 ответ

Вы уверены, что начальные / конечные разделы не перекрываются?

Кроме того, один диск можно разделить на 4 первичных первичных и 3 расширенных раздела OR 3, я не совсем уверен, что эта конфигурация будет правильно обрабатывать этот случай. Вам придется перепроверить параметры конфигурации, чтобы убедиться, что это правильно.

Это в основном мое предположение.

0
ответ дан 25 May 2018 в 03:41
  • 1
    Я решил это сейчас. Проблема заключалась в том, что partman создает разделы в том порядке, в котором они определены, и я определял раздел, который должен был взять все доступное дисковое пространство не в конце, поэтому следующие разделы (в том числе и для rootfs) не могли быть создано. – Moritz 6 December 2012 в 21:13

Другие вопросы по тегам:

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