gpt4 book ai didi

Linux Bash 如何在需要从标准输入/文件输入的程序上使用 xargs?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:37:15 24 4
gpt4 key购买 nike

我想调用./prog参数来自 args.txt ,但与此同时,./prog还从文件输入中读取 in.txt

我试过了 cat args.txt | xargs ./prog < in.txt但它不起作用。

如果程序不需要输入,我明白了,cat args.txt | xargs ./prog应该管用。但是这样的话,我应该怎么写呢..?

提前谢谢你。

最佳答案

GNU xargs 有一个 -a 选项可以从文件中传入参数。

xargs -a args.txt ./prog < in.txt

如果您的 xargs 没有 -a,您可以尝试以下替代方案之一:

./prog $(< args.txt) < in.txt

cat args.txt | xargs bash -c './prog "$@" < in.txt' --

第二个是丑陋的,但在给定带有空格的参数时也更健壮,特别是如果您使用 xargs -0

关于Linux Bash 如何在需要从标准输入/文件输入的程序上使用 xargs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26050263/

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