可能重复:
从字符串中提取regexp结果并将其写入变量
这是我的命令:
grep -E'\*[[:space:]] + FIN [[:space:]] +([^]] +?)')myfile
它输出:
- FIN(成功)
而且我希望它只输出:
成功
我grep怎么知道呢?
您可以将grep命令的输出通过管道传递给awk命令.
grep -E '*[[:space:]]+FIN[[:space:]]+([^)]+?)') myfile | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)
我不确定如何单独使用grep,因为它不是真正适合那个确切的用例.由于您位于grep所在的平台上,因此当您可以使用一个命令解决部分问题时使用管道,而另一个命令则使用另一个部分.
grep无法输出单个捕获组,但您可以使用sed它来代替:
sed 's/\*[[:space:]]\+FIN[[:space:]]\+(\([^)]\+\))/\1/g' file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29749 次 |
| 最近记录: |