Извлечение значений из файла, включенного несколькими ключами

Отдельный /boot раздел раньше был необходим (BIOS в более старых компьютерах не мог загрузиться кроме от запуска жесткого диска, и GRUB 1 не мог загрузиться от некоторых файловых систем).

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

Даже если Вы имеете один, это должно не обязательно быть смонтировано кроме тех случаев, когда рабочие системные обновления/обновления, которые включают устанавливающие новые ядра.

2
26.01.2019, 17:50
2 ответа

Вы можете написать его в гораздо более читаемой форме, используя awk :

getval() {
    awk -F'=' '$1~/\<'"$1"'\>/{print $2}' testfile
}
2
27.01.2020, 22:05

С SED ...

getval() { sed "/^\([^=]*,\)*$1[,=]/!d;s/.*=//;q"; } <infile

Вы можете работать на проверке $ 1 в качестве ввода.

ИЛИ с GNU GREP и : :

getval() { grep -Em1 "^([^=]*,)*$1[,=]" | cut -d= -f2-; } <infile
1
27.01.2020, 22:05

Теги

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