小编Chr*_*own的帖子

返回所有匹配项的前一行

我需要获取程序的多行输出,匹配一个字符串,并返回所有匹配项的前一行。

程序输出示例:

$ jack_lsp -p
firewire_pcm:analog-1_out
        properties: input,physical,terminal,
firewire_pcm:analog-2_out
        properties: input,physical,terminal,
firewire_pcm:analog-1_in
        properties: output,physical,terminal,
firewire_pcm:analog-2_in
        properties: output,physical,terminal,
$
Run Code Online (Sandbox Code Playgroud)

例如,我需要匹配“输入”,并返回所有匹配项的前一行。所以在这个例子中,预期的输出是:

firewire_pcm:analog-1_out
firewire_pcm:analog-2_out
Run Code Online (Sandbox Code Playgroud)

这是我所拥有的,但它只返回第一个匹配项:

$ jack_lsp -p | grep -B1 input | head -1
firewire_pcm:analog-1_out
$
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

grep text-processing

4
推荐指数
1
解决办法
3062
查看次数

标签 统计

grep ×1

text-processing ×1