Преобразовать систему, установленную на диске, в мультизагрузочную USB

Для сопоставления этих строк достаточно шаблона /^~ [A-Z]/и для каждой печати соответствующих полей 4, 5 и 6.

Версия Awk будет:

$ awk '/^~ [A-Z]/{printf("%-8s\t%-8s\t%-8s\n",$4,$5,$6)}' input.txt
0.00781     0.00108     0.00038 
0.01271     -0.01507    0.02839 
-0.05015    -0.01803    0.01588 
0.01733     0.03089     -0.04611
0.01230     0.00114     0.00147 

И перевод того же на perl:

$ perl -ane 'printf("%-8s\t%-8s\t%-8s\n",$F[3],$F[4],$F[5]) if /^~ [A-Z]/' input.txt                                     
0.00781     0.00108     0.00038 
0.01271     -0.01507    0.02839 
-0.05015    -0.01803    0.01588 
0.01733     0.03089     -0.04611
0.01230     0.00114     0.00147 

Обратите внимание, что здесь мы используем функцию printf()с флагами выравнивания по левому краю -%-8sдля правильного форматирования.

Альтернативным способом может быть обработка желаемых чисел как чисел с плавающей запятой и использование спецификатора %fвместо %-8s, но это добавляет дополнительные нули к некоторым числам.

0
24.10.2019, 12:03
1 ответ

Вам нужно решить, сколько разделов вы можете использовать на мультизагрузочном флеш-накопителе. Если у вас есть хотя бы один специальный раздел Linux -, вы можете использовать на нем родную файловую систему Linux, что значительно упрощает работу. Кроме того, может ли содержимое флешки оставаться статичным после того, как вы его создали, или вам нужно, например. внести постоянные изменения в установку /etcфлешки, например?

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

После инициализации раздела (s )на флешке вы можете скопировать существующую структуру файловой системы на флешку, изменить скопированную /etc/fstabна флешке так, чтобы она ссылалась на раздел (s флешки. )вместо исходной установки поместите файлы ядра и initramfs туда, где они должны быть, и настройте загрузчик на флешке, чтобы включить параметр загрузки для копии установки на флешке -.

Если флешка должна быть только FAT32 -, вам, вероятно, придется реализовать решение на основе образа -файла -, что означает, по крайней мере, написание небольшого пользовательского сценария initramfs для запуска losetupдля image, который содержит вашу корневую файловую систему перед ее монтированием, в дополнение к тому, что я описал выше. Если вы хотите сжать файл образа файловой системы и вам нужен способ выполнения постоянных изменений в нем, это, вероятно, означает наложения файловой системы и дальнейшую настройку.

1
28.01.2020, 02:39

Теги

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