gpt4 book ai didi

linux - 如何在 bash 中将多个结果从一个命令发送到另一个命令?

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

我不确定这是否可以在一行中实现(即不编写脚本),但我想运行 ls | grep命令,然后将每个结果通过管道传递给另一个命令。

具体来说,我有一个充满图像的目录,我只想查看某些图像。我可以使用 ls | grep -i <something> 过滤我感兴趣的图像,这将返回匹配文件的列表。然后对于每个文件,我想通过将其传递给 eog 来查看它.

我试过简单地将结果传递给 eog像这样:

eog $(ls | grep -i <something>)

这不太有效,因为它只会打开结果列表中的第一个条目。

那么,我该如何执行 eog FILENAME对于结果列表中的每个条目,而不必将此操作捆绑到脚本中?

编辑:正如答案中所建议的,我可以使用 for像这样循环:

for i in 'ls | grep -i ...'; do eog $i; done

这行得通,但循环会等待迭代,直到我关闭当前打开的 eog实例。

理想情况下,我想要 n eog 的实例一次全部打开,其中 n是从我的 ls | grep 返回的结果数命令。这可能吗?

谢谢大家!

最佳答案

我会使用xargs:

$ ls | grep -i <something> | xargs -n 1 eog

关于linux - 如何在 bash 中将多个结果从一个命令发送到另一个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3442642/

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