使用 sed 返回匹配单词之前的单词

Pet*_*ter 5 sed text-processing

我正在尝试提取并打印我匹配的特定单词之前出现的单词。举个例子,

There are 12 processes running.
Run Code Online (Sandbox Code Playgroud)

这里我使用 sed 来搜索这个词processes,我只想打印12

这可以使用吗sed

wyr*_*yrm 4

如果您只需要处理这一行,您可以使用 sed 命令

sed -e 's/.* \([[:digit:]]\{1,\}\) processes running\./\1/'
Run Code Online (Sandbox Code Playgroud)

对于稍微更稳健的方法,以下脚本将接受任意输入,并且仅在匹配时才响应

sed -ne 's/.* \([[:digit:]]\{1,\}\) processes running\./\1/p'
Run Code Online (Sandbox Code Playgroud)