gpt4 book ai didi

linux - $(find -X) 等价于 linux

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

我正在尝试使用 bash find 命令创建一个元素数组,并使用 for 循环在其中搜索元素。我需要做这样的事情:

for file in $(find -? dirname) ; do
echo element contains $file
done

我知道您可以在 mac 上执行 find -X(它像 xargs 一样解析空格和\n),但是在 linux 上有什么方法可以这样做吗?预先感谢您的回复

最佳答案

OSX find 联机帮助页对 -X 说:

However, you may wish to consider the -print0 primary in conjunction with ``xargs -0'' as an effective alternative.

所以你可以采纳这个建议:

find dirname  -print0 | xargs -0 grep foo  # or whatever it is you wanted to do

或者,find 可以为每个找到的文件本身执行一个命令:

find dirname -exec echo found {} \;

请注意转义的 ; 以终止 - 这只是您必须接受 find -exec 的东西。

或者类似 xargs 的分块:

find dirname -exec grep foo {} +

关于linux - $(find -X) 等价于 linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24248072/

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