Вы смотрите на рабочее ядро с uname
. Конфетка смотрит на базу данных RPM-пакета. Очень возможно, что Вы сделали что-то так, чтобы Вам установили ядро на самом деле, но это отсутствует в базе данных. Переустановка (поскольку Вы сделали) является самым легким способом восстановиться с этого, если Вы не очень хорошо осведомлены о как это все работы.
Но, возвращаясь шаг: видеть конфетку ядер знает о, выполненный:
yum list kernel
Если ядро, которое Вы ищете, не находится в списке установленных пакетов, существует проблема.
Эта команда sed
должна выполнить трюк. Следующая команда перезапишет файл:
sed -i 's/^[^:]*:/:/' file
Чтобы просто распечатать вывод, снимите флаг -i
. Чтобы поместить вывод в новый файл, снимите флаг -i
и перенаправьте вывод:
sed 's/^[^:]*:/:/' file > new_file
Вы можете использовать cut
:
echo '(123434): hello::{apple,orange,mango}.' | cut -d: -f2-
Вы можете сделать это с помощью довольно простой инструкции Bash:
mytext="(123434): hello::{apple,orange,mango}."
echo ${mytext#*)}
Это напечатает : hello::{apple,orange,mango}.
. Вы можете вырезать префиксы и суффиксы аналогичным образом. Более того, определения префиксов и суффиксов могут содержать подстановочные знаки.
Вырезать префикс - до первого совпадения подстановочных знаков префикса: ${переменная#префикс}
Вырезать префикс - до последнего совпадения подстановочного знака префикса: ${переменная##префикс}
Режущий префикс - до первого совпадения подстановочных символов префикса: ${переменная%-суффикс}
Режущий суффикс - до последнего совпадения подстановочных суффиксов: ${переменная%% суффикс}
На первый взгляд может показаться непонятным, см. следующий пример:
mytext="xAxBxAxBx"
echo ${mytext#*A} # will print: xBxAxBx
echo ${mytext##*A} # will print: xBx
echo ${mytext%B*} # will print: xAxBxAx
echo ${mytext%%B*} # will print: xAx
echo ${mytext%%C*} # will print: xAxBxAxBx
В последнем примере шаблон не совпадает, поэтому ничего не обрезается.