我正在运行一个abcd.sh文件,该文件内部调用一个python文件,该python脚本提供了一些输出,我在其中输入了一些变量,并尝试grep一些单词,该单词的前10个字符从20个字符中得知,最后10个字符是动态的,这个词是多次的。

我想重复这个词。
例如:在下面的日志示例中,我要搜索固定为"Request-Id-12977-1233""Request-Id"

1::com.demo.log.Demo::main::Sat Dec 15 01:42:43 EST 2012:: requestID: Request-Id-12977-1233  Demo::main
1::com.demo.log.Demo::main::Sat Dec 2012::  requestID: Request-Id-12977-1233  Demo::main
1::com.demo.log.Demo::main:: 2012:: requestID: Request-Id-12977-1233  Demo::main
1::com.demo.log.Demo::main:  requestID: Request-Id-12977-1233  Demo::main

最佳答案

我终于得到了答案,我以前尝试过此方法,但没有成功,可能有一些错误。
-获取python脚本的响应

initiateResponse=$(python pythonscript.py argument1 "argument2" "arguments3")


-回显输出,然后使用管道grep,然后使用管道尾部获取最后一个值,因为存在多个

requestId=$(echo initiateReposnse | grep -o "Request-Id-\w*" | tail -n 1)
echo "request Id $ requestId"

关于linux - grep一个单词,从20个字符开始的10个字符已知,最后10个字符是动态的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59484692/

10-09 19:13