Использование grep для поиска соответствующей позиции ошибки - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть такой файл журнала.Я хочу использовать команду grep, чтобы найти ссылку на сообщение об ошибке, которое я хочу получить: "/home/ubuntu/CT/data/xml1/NCT0002xxxx/NCT00027222.xml".Возможно ли это с помощью команды grep?

Первая строка (/home/ubuntu/CT/data/xml1/NCT0002xxxx/NCT00027222.xml) случайна из файла журнала, и я хочу получить первуюлиния на самом деле!

> /home/ubuntu/CT/data/xml1/NCT0002xxxx/NCT00027222.xml
> [C]:https://geocoder.com/geocode.json?t=United States
> [C]:https://geocoder.com/geocode.json?t=United States
> [C]:https://geocoder.com/geocode.json?t=United States
> [C]:https://geocoder.com/geocode.json?t=United States { Error: connect
> ETIMEDOUT 54.210.239.167:443
>     at Object._errnoException (util.js:992:11)
>     at _exceptionWithHostPort (util.js:1014:20)
>     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)   code: 'ETIMEDOUT',   errno: 'ETIMEDOUT',   syscall: 'connect',  
> address: '54.210.239.167',   port: 443 }

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Вы ищете это?

grep -B 10 ETIMEDOUT logfile.log | grep xml

Я так понимаю ваш вопрос.Если файл допущен по ошибке, необходимо найти указанное имя файла.Для того же, ниже должно работать.

-B brings the said number of lines above the matched pattern/string, it's 10 here
0 голосов
/ 23 сентября 2018

Я предполагаю, что символы > не являются частью файла.Тогда как насчет:

$ grep "^/" file
/home/ubuntu/CT/data/xml1/NCT0002xxxx/NCT00027222.xml

Если это часть файла, то, например:

$ grep -Po "(?<=^> )/.*" file
/home/ubuntu/CT/data/xml1/NCT0002xxxx/NCT00027222.xml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...