我正在运行一个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/