【发布时间】:2020-08-20 11:50:58
【问题描述】:
我使用find 获取所有txt 文件,然后使用grep 查找txt 文件中是否有特殊词,该文件由find 命令找到。
if find "/home/test/" -name "*.csv" -exec grep "pattern" {} \;; then
echo "find it in txt files";
else
echo "not find in txt files";
fi
尽管条件不满足,程序总是输出"find it"。
【问题讨论】:
-
-name 必须被引用以防止 shell globbing。要获得退出状态,您可以使用 \( -exec grep ... {} \; -a -exec echo ... \; \)
-
这能回答你的问题吗? Bash - find exec return value
-
如果
pattern在任何文件中匹配,或者在所有文件中都匹配,您是否要打印find it?