gpt4 book ai didi

bash - sed ... <(cmd) 和 cmd | 的替代方案sed

转载 作者:行者123 更新时间:2023-12-04 04:47:46 24 4
gpt4 key购买 nike

我想将命令设置为程序的配置选项。
有参数传递给命令。

但我希望将命令的输出替换为 sed。

原则上我想做这样的事情:

option = cmd <arg1> <arg2> | sed s/x/y/

但是该选项只能这样设置:
 option = cmd

并且参数由程序自动附加。

所以我想像这样“反转”管道:
 option = sed s/x/y/ < <(cmd)

但是由于程序附加了参数,因此以下将
被执行:
 sed s/x/y/ < <(cmd) <arg1> <arg2>

但我想要
 sed s/x/y/ < <(cmd <arg1> <arg2>)

由于参数选项中没有占位符,因此我无法正确关闭括号。

有什么办法可以在不编写包装脚本的情况下解决这个问题?

最佳答案

如果你小心引用,你可以这样做:

option = bash -c 'cmd "$1" "$2" | sed "s/x/y/"' sub

末尾的“子”二字随意但必要;它在那里是因为 $1在使用 bash -c 创建的子 shell 中实际上是第二个位置参数,而不是第一个。

关于bash - sed ... <(cmd) 和 cmd | 的替代方案sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17927626/

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