путаница с initrd и initramfs

$ sed 's/[^|]*modesc=\([^ ]*\).*$/\1/' file
abc|123|bpp123
abc|123|pmk123
abc|123|pnj123

Esto usa sedpara reemplazar todo el último campo con el contenido después de modesc=hasta el siguiente espacio.


$ awk -F '|' -vOFS='|' '{ sub(".*modesc=", "", $3); sub(".*", "", $3)} 1' file
abc|123|bpp123
abc|123|pmk123
abc|123|pnj123

Este awkprograma modifica la tercera columna con dos sustituciones. El primero elimina todo hasta modesc=inclusive, y el segundo elimina todo después del primer espacio restante. El solitario 1al final hará que awkimprima el registro modificado (que puede ser reemplazado por{ print }).


Para solo obtener la cadena después de modesc=de la tercera columna de los datos originales (y nada más ), puede usar cualquiera de los comandos anteriores y luego canalizarlo cut -d '|' -f3, o puede usar

sed 's/.*modesc=\([^ ]*\).*$/\1/' file

o

awk -F '|' -vOFS='|' '{ sub(".*modesc=", "", $3); sub(".*", "", $3); print $3 }' file
2
30.04.2019, 02:30
1 ответ

Isn't it a chicken and egg problem?

В некотором смысле, конечно.

How does the kernel loads these files

Нет. (Полностью модульное )ядро ​​действительно не способно на это, по сути, вообще не может получить доступ к какому-либо диску, пока вы не загрузите соответствующие модули (ahci, scsi и т. д.)

Вы также можете спросить, как ядро ​​загружает ядро... это невозможно, поэтому должно быть что-то еще.

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

0
27.01.2020, 22:26

Теги

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