可能重复:
在文本文件中的两个点之间提取数据
例如:
Reply: [200/OK] bytes=29086 time=583ms
Run Code Online (Sandbox Code Playgroud)
我想提取"time ="和"ms"之间的值
预期结果:
"583"
我会使用sed,但因为你要求awk:
echo "Reply: [200/OK] bytes=29086 time=583ms" | awk -F'time=|ms' '{print $2}'
Run Code Online (Sandbox Code Playgroud)
该-F定义延长字段分隔符的regexp.因此我们定义"time ="或"ms"分隔字段,然后打印第二个字段.
使用sed,它将是:
echo "Reply: [200/OK] bytes=29086 time=583ms" | sed 's/.*time=\([0-9]*\)ms.*/\1/'
Run Code Online (Sandbox Code Playgroud)