gpt4 book ai didi

shell - 在 unix 中使用 "find"命令时出错

转载 作者:行者123 更新时间:2023-12-04 18:18:08 26 4
gpt4 key购买 nike

我只是在尝试下面的代码,但它不起作用..请建议更正此代码..

echo abc.txt | while read name; do find . -name $name; done

输出成功:./rak/abc.txt
echo 'abc.txt pqr.txt' | while read name; do find . -name $name; done

输出错误:查找:0652-009 缺少连词
echo "abc.txt pqr.txt" | while read name; do find . -name $name; done

输出错误:查找:0652-009 缺少连词

同样的错误
echo "abc.txt" "pqr.txt" | while read name; do find . -name $name; done
echo 'abc.txt' 'pqr.txt' | while read name; do find . -name $name; done

请建议如何解决这个问题...

最佳答案

问题是多个条目作为一行发送到管道中,读取将两个字符串都提取到 name然后处理 $name包含两个字符串。

你应该使用类似的东西:

echo -e "abc.txt\npqr.txt" | while read name; do find . -name $name; done

即用换行符分隔项目。

你应该尝试使用 echo "'$name'" 来调试它。而不是 find它会暗示正在发生的事情。

此外,我会在使用 $name 时使用引号。在查找中,好像文件名中应该有一个空格,那么您将收到与您最初遇到的相同的错误消息。

关于shell - 在 unix 中使用 "find"命令时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11308436/

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