linux - 基于两个条件的嵌套查找

标签 linux shell find

我想查找以 show 开头并在特定月份创建的文件。我尝试了以下方法

for i in  `find /home/data -type d -name "$MONTH"`;
    do  find $i -type f -name "show*" -printf "%h\n"|uniq >tempfile1;
done;

但是我得到这个错误:

-bash: /home/data/testdata/2017/Apr/25: Is a directory

我该如何解决?

最佳答案

如果你通过 ShellCheck 运行那一小部分, 几个问题变得明显:

  1. 不要循环遍历 find 的输出,而是使用 -exec

  2. 您应该将 $i 括在引号中以防止通配和分词。这可能是您问题的原因。

关于linux - 基于两个条件的嵌套查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43607177/

相关文章:

python selenium 点击第n个元素

c++ - 获取 c/MacOS 中解析 int 命令的输出

c++ - 在使用 Qt 制作的 GUI 上按下按钮时启动 shell 脚本

linux - 搜索给定目录以外的文件

php - CakePHP 查找没有 HABTM 关系记录的项目

c# - 无法在 Linux 上使用 SQLConnection 连接 Azure SQL

linux - 获取 adb 日志并将其 grep 到 IF 语句中的字符串

linux - 安装 posix 时出现 npm install 错误

eclipse - 如何在 Eclipse 中运行系统 shell/终端?

python - 为什么 python 发现不工作