shell - 为什么我的 find cmd 在手动执行而不是从脚本执行时会产生结果
问题描述
我正在从命令行执行此命令
find -L /lorem/ipsum/dolor/ /lorem/ipsum1/dolor/ /lorem3/ipsum/dolor/ -regex '.*[0-9]_[0-9].*log.*?' -mtime +14 -type f | wc -l
它产生
70
但是当我在脚本中运行它时它不会。特殊之处在于,在脚本中我将路径作为 GLOB 值传递,并 find 为我解决了它。那是
CLEANUPFOLDER="/lorem/**/dolor/"
脚本中的命令:
find -L $CLEANUPFOLDER -mtime +14 -type f | wc -l
我试图在新脚本中复制已解决的发现并且它有效
解决方案
我忘了提的是,那时我正在路过
/lorem/ipsum/dolor/ /lorem/ipsum1/dolor/ /lorem3/ipsum/dolor/ -regex '.*[0-9]_[0-9]。日志。?
作为命令的变量
喜欢
VAR1="/lorem/ipsum/dolor/ /lorem/ipsum1/dolor/ /lorem3/ipsum/dolor/ -regex '.*[0-9]_[0-9] .log. ?'"
找到 $VAR1 .....
现在的问题还在于,find 将“...or/”和“..-rege”之间的空格解释为参数之间的分隔符,但不知何故作为文件夹的一部分...所以 find 出错了,错误味精被隐藏了..
现在我这样做了
bash -c"find ....." 它立即工作....
谢谢大家,很抱歉对事情的解释不好:-(
推荐阅读
- node.js - MongoDB:多语言(不区分重音),不区分大小写的搜索,带有部分单词?
- reactjs - 无法处理 401 错误
- python - 将项目上下文包含到 Post 模型中以激活 Django 中的 if 语句
- laravel - Q:如何在 Laravel 中使用 Alpinejs 和 tailwindcss?
- java - 如何在 Jenkins 中允许 catchError?
- django - 已选中 Django 表单中的单选按钮
- python - 当我们在不同的文本文件中有不同的行数时如何从word中提取数据到excel
- python - 无法使用 Python 在图片占位符 powerpoint 中添加图像
- linq - 尝试获取计数时 Linq 中的子查询
- python - 网络抓取问题以清理 CSV 表