Как установить libprotobuf?

Прежде всего, ls | там совершенно бесполезны. Вы хотите искать внутри файла 9707le8.log , а не в списке файлов и каталогов в вашем текущем каталоге (который выводит ls ). В любом случае grep игнорирует любой переданный ему ввод ( | grep ), когда ему также дается имя файла для поиска в командной строке, как и у вас.

Тем не менее, ваше регулярное выражение означает «найдите строку 9139 = , за которой следует <= 8 строчных букв». Однако после = есть только 5 букв; 6-й символ - это _ и не входит в группу символов [a-z] .Простое решение - добавить его в класс:

$ grep -Eo '9139=[a-z_]{0,8}' 9707le8.log
9139=eagle_fi

Теперь, поскольку вы хотите 9139 = eagle_fix11 , вам нужно увеличить количество символов:

$ grep -Eo '9139=[a-z_]{0,18}' 9707le8.log
9139=eagle_fix_trader

На этот раз проблема в том, что вы не совпадают с числами, поскольку [a-z _] не включает их. Итак, вам нужно что-то вроде этого:

$ grep -Eo '9139=[a-z_0-9]{0,18}' 9707le8.log
9139=eagle_fix_trader11

Или, в более общем случае, где вы хотите 9139 = строчными буквами или _ , а затем две цифры, вы можете использовать:

$ grep -Eo '9139=[a-z_]+[0-9]{2}' 9707le8.log
9139=eagle_fix_trader11

Или с GNU grep:

$ grep -Po '9139=[a-z_]+\d{2}' 9707le8.log
9139=eagle_fix_trader11
1
17.05.2017, 20:46
2 ответа

Переустановите два пакета, содержащие libprotobuf.so.8, libprotobuf-c.so.0

apt-get install --reinstall libprotobuf8 libprotobuf-c0

Если Ubuntu sudo apt-get install --reinstall libprotobuf8 libprotobuf-c0

1
27.01.2020, 23:45
$ sudo ldconfig

должен решить проблему.

0
27.01.2020, 23:45

Теги

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