提取位于匹配模式之后或之间的字符串

r.s*_*cky 2 regex bash grep

给定一个字符串“pos:665181533 pts:11360 t:11.360000crop=720:568:0:4 还有一些词”

是否可以使用 bash 和 grep 在“crop=”和以下空格之间提取字符串?

因此,如果我匹配“crop =”,我如何在它之后和以下空白之前提取任何内容?

基本上,我需要打印“720:568:0:4”。

And*_*nov 5

我会这样做:

grep -o -E 'crop=[^ ]+' | sed 's/crop=//'
Run Code Online (Sandbox Code Playgroud)

它使用sedwhich 也是一个标准命令。当然,您可以用另一个 grep 序列替换它,但前提是确实需要它。