Вы раньше использовали эту систему для запуска make для сборки драйверов? Возможно, вам понадобится несколько дополнительных пакетов.
Это руководство может быть несколько полезным, так как в нем описываются необходимые шаги перед компиляцией программного пакета, хотя наиболее важным шагом в вашем случае, вероятно, является первый:
sudo apt-get install build-essential checkinstall
После запуска попробуйте снова скомпилировать драйверы с помощью sudo make
.
Если это не работает, возможно, у вас нет правильных заголовков ядра. Заголовки ядра — это просто файлы заголовков C для самого ядра, которые необходимы для компиляции вещей, взаимодействующих с ядром (, таких как драйверы ). Вот руководство по установке, в котором объясняется, что обновить/установить заголовки ядра так же просто, как запустить:
sudo apt update
sudo apt install linux-headers-$(uname -r)
Взяв примеры Квазимодо и другие возможные случаи и предполагая, что знаки препинания должны совпадать, а также более двух последовательных слов с заглавными буквами, с использованием GNUgrep
:
$ cat file
x Yyy Zzz xx y
x Yyy Zzz Www
a Mmm: Yyy bbb
aaa aaa aaa
Ccc ccc CCC
Bbb Bbb Bbb Bbb
$ grep -P '[A-Z][^ ]*(?: +[A-Z][^ ]*)+' file x Yyy Zzz xx y x Yyy Zzz Www a Mmm: Yyy bbb Bbb Bbb Bbb Bbb
[A-Z][^ ]*
соответствует словам с заглавной буквы, за которыми следует любой символ, не являющийся пробелом. (?: +[A-Z][^ ]*)+
соответствует одному или нескольким пробелам, за которыми следует указанный шаблон, повторяющийся один или несколько раз. Как предложил @cas, есть альтернатива:
Использование -z
будет обнаруживать последовательные слова, написанные с заглавной буквы, даже через границы строк (, например.CCC\nBbb
). и использование \s
вместо пробела заставит его работать с вкладками и другими пробелами.
grep -z -P '[A-Z][^\s]*(?:\s+[A-Z][^\s]*)+' file