将链接命令的输出传递给 grep 或附加到文件

将链接命令的输出传递给 grep 或附加到文件

我正在尝试以详细模式终止并重新启动 pulseaudio,我需要在输出中进行搜索。我尝试使用管道来 grep 输出。失败后,我尝试将输出附加到文件。我做错了什么。

kill 和 start 命令是

pulseaudio -k && pulseaudio -v

我正在尝试做这样的事情:

pulseaudio -k && pulseaudio -v | grep conf
(pulseaudio -k && pulseaudio -v) > 'aout.txt'
pulseaudio -k && (pulseaudio -v > 'aout.txt')

它仍然只是显示终端中的输出。我做错了什么?

请注意,我更喜欢使用 grep 而不是附加到文件。

答案1

您可能还需要重定向命令的标准错误,例如(使用 bash 命令分组,以便捕获两个都使用单个重定向命令错误流)

{ pulseaudio -k && pulseaudio -v ; } 2>&1 | grep 'conf'

或使用简写运算|&

{ pulseaudio -k && pulseaudio -v ; } |& grep 'conf'

重定向到文件

{ pulseaudio -k && pulseaudio -v ; } > aout.txt 2>&1

(注意重定向的顺序)或其语义等效

{ pulseaudio -k && pulseaudio -v ; } &> aout.txt 2>&1

REDIRECTION请参阅man bash

相关内容