我正在尝试使用bash find命令创建一个元素数组,并在其中使用for循环搜索元素。 我需要做这样的事情:
for file in $(find -? dirname) ; do
echo element contains $file
done
我知道你可以在mac上找到-X(解析空格和\ n就像xargs那样),但有没有办法在linux上这样做? 提前感谢您的回复
答案 0 :(得分:3)
OSX find
联机帮助页上写的是-X:
但是,您可能希望结合使用-print0 primary 用``xargs -0''作为一种有效的替代方案。
所以你可以接受这个建议:
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 {} +