Если команды завершено ;
вы можете:
awk -v RS=";" '/from/' file
Если вам нужны только имена таблиц после "from", вы можете попробовать
perl -0nE 'say join(";", /from\s+(\w+)/ig)' file
Предупреждение «как минимум 17 стираемых блоков» подсчитывает блоки, необходимые для самой файловой системы UBIFS. Из этих 17 блоков стирания 14 являются накладными расходами UBIFS, а 3 — используемым пространством файловой системы. Нижележащий слой UBI также использует 5 блоков стирания служебных данных.
Невозможно сделать так, чтобы один раздел UBI с одной файловой системой UBIFS использовал меньше накладных расходов.
Однако, если на одном устройстве MTD имеется несколько разделов UBI, я рекомендую их объединить. Это не только освободит 5 блоков стирания, но также улучшит выравнивание износа и обработку поврежденных блоков, потому что UBI будет иметь больше возможностей для сопоставления физических блоков стирания с блоками логического стирания по мере необходимости.
(Игнорируя накладные расходы, представьте себе два раздела по два блока в каждом, один из которых неисправен. Теперь на одном разделе остался только один блок, и сделать выравнивание износа невозможно. Но если вы объедините их, у вас останется три хороших блока, которые можно будет разделить между двумя файловыми системами по мере необходимости.)
Объединение двух смежных разделов UBI:
ubiformat
на этом одном большом разделе. ubimkvol
дважды, указав соответствующие имена разделов и указав размеры вручную с помощью -s
или -S
. Во-первых, уровень UBI занимает 5 блоков стирания служебных данных:
Далее,уровень UBIFS имеет минимальное количество блоков стирания для метаданных файловой системы:
Что касается служебной информации UBI, на сайте linux -mtd есть простое описание .
Что касается накладных расходов UBIFS, мне пришлось немного покопаться. Исходный код mtd -utils подсчитывает абсолютное минимальное количество блоков стирания и упоминает, для чего предназначен каждый блок. Чтобы понять это, полезно использовать технический документ UBIFS .