如何用linux命令从字符串中提取参数值
我想使用linux命令从下面的字符串中获取RequestID参数的值如何用linux命令从字符串中提取参数值,linux,string,search,Linux,String,Search,我想使用linux命令从下面的字符串中获取RequestID参数的值 "2019-12-05 07:55:59","3c331c0f-8657-4fae-880d-351c7f41024f","info","Method : {_FLR} Request =>{LoginId=>42483357 ,RequestId=>546677 ,BatchId=>6 ,ServiceID=>2 ,Amount=>20000 ,From=>0705871
"2019-12-05 07:55:59","3c331c0f-8657-4fae-880d-351c7f41024f","info","Method : {_FLR} Request =>{LoginId=>42483357 ,RequestId=>546677 ,BatchId=>6 ,ServiceID=>2 ,Amount=>20000 ,From=>07058717569 ,Email=>admin@n.com ,}"
上面是字符串,我需要结果546677
我有一系列这样的字符串,我想要RequestID参数的值(值会有所不同)如果我做对了,你是在运行一些shell命令吗?然后,您可以使用管道
|
op将输出转发到另一个程序的输入
要过滤某些文本,请使用带有正则表达式的grep
,然后使用tee
从过滤后的输出创建一个文件(如果输出中有多个字符串)
最好创建您自己的正则表达式,因为我这里没有关于您案例的任何信息。请显示相关代码并说明确切的问题或错误。仅仅描述是不够的。另请参见.value lenght是不固定的,我有完整的字符串,我已粘贴在注释上,我只需要结果中的RequestID值546677。我将拥有此类字符串的文件,我将在每一行上运行shell命令以从所有字符串中获取RequestID的值。您可以将其更改为“RequestID=>\d*”以匹配任何长度。最好自己用工具检查一下,就像它再次给出整个字符串一样
echo "RequestId=>546677" | grep "RequestId=>\d{6}" | tee logfile.txt