gpt4 book ai didi

linux - 使用 grep 并获取模式后的文本

转载 作者:太空宇宙 更新时间:2023-11-04 04:43:13 24 4
gpt4 key购买 nike

我需要从日志中获取IP,我需要grep true-client,之后我需要 grep true-client-ip=[191.168.171.15]并获取 IP

2019.02.14-08:26:06:713,asd:1234:chan,0.000,asd,S,request-begin-site,POST,{remoteHost=1.2.3.4,remoteAddr=1.2.3.4,requestType=POST,serverName=api=[text/html],accept-charset=[iso-12345-15, utf-8;q=0.5, *;q=0.5],accept-encoding=[gzip],server-origin=[5],cache-control=[no-cache, max-age=0],pragma=[no-cache],program-header=[true],te=[chunked;q=1.0],true-client-ip=[191.168.171.15],true-host=[www.server.com]

我正在尝试grep -o "true-client-ip=[^ ]*,"但它给我带来:

true-client-ip=[191.168.171.15],true-host=[www.server.com]

我只需要true-client-ip=[191.168.171.15]这样我就可以在获取 IP 后进行剪切,例如 true-client-ip=[191.168.171.15] | cut -d= -f2

最佳答案

使用 grep -P 标志(如果可用):

grep -oP 'true-client-ip=\[\K[^]]*'

Perl 的 \K 元字符在显示结果时会丢弃前面的内容,因此它将匹配“true-client-ip=[”部分,但仅显示 IP。

如果 grep -P 不可用,我会使用 sed :

sed -nE 's/.*true-client-ip=\[([^]]*).*/\1/p'

关于linux - 使用 grep 并获取模式后的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54694422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com