Обозначение \r
унаследовано от C и означает возврат каретки. Ваш файл, скорее всего, имеет окончания строк CRLF в стиле DOS/Windows -. sed
и xargs
считают CR просто еще одним символом, и он передается. Хотя все остальное в той же строке, за пределами тегов <Name>...</Name>
, также будет передано этим sed.
$ echo 'foo <Name>bar</Name><Num>123</Num>' | sed 's/<Name>\([^<]*\)<\/Name>/\1/'
foo bar<Num>123</Num>
Если вы таким образом выбираете поля из XML-файла, вы можете sed
одновременно удалить все, что окружает строку:
$ echo 'foo <Name>bar</Name><Num>123</Num>' | sed 's/.*<Name>\([^<]*\)<\/Name>.*/\1/'
bar
Это также должно избавиться от всех CR в конце, так как они соответствуют .*
.
Я ожидаю, что имена функций (или какие бы они ни были ), RbTreeInsert
и CreateNewUid
, появятся, поскольку -находится в двоичном файле модуля. Таким образом, если ваши модули несжаты,
grep -r RbTreeInsert /lib/modules/$(uname -r)
сообщит вам, какой модуль содержит сообщение, или, если они сжаты,
find /lib/modules/$(uname -r) -name \*.ko.xz -exec xzgrep RbTreeInsert {} +
(регулировка по мере необходимости в зависимости от используемого пресс-инструмента ).
Я уверен, что эти сообщения исходят не от самого ядра Linux или каких-либо модулей, поставляемых с ним.