gpt4 book ai didi

linux - 将多个输出发送到 sed

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:25:12 25 4
gpt4 key购买 nike

当有一个程序在执行时在 stout 上打印几行,我如何将所有这些行重定向到 sed 并在它们执行时对它们执行一些操作正在生成?

例如:

7zip a -t7z output_folder input_folder -mx9 > sed 's/.*[ \t][ \t]*\([0-9][0-9]*\)%.*/\1/'

7zip 生成一系列行作为输出,每行都包含一个百分比值,我希望 sed 在生成这些值时仅显示这些值。不幸的是,上面的脚本不起作用......

执行此操作的最佳方法是什么?

最佳答案

您应该使用管道 | 而不是重定向 > 以便 sed 使用第一个命令输出作为其输入。

上面的脚本行必须在当前目录中创建一个 sed 文件。

此外,7zip 可能会将这些行输出到 stderr 而不是 stdout。如果是这样,在管道之前首先将标准错误重定向到标准输出:2>&1 |

关于linux - 将多个输出发送到 sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13988671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com