我想查找以 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 运行那一小部分, 几个问题变得明显:
不要循环遍历
find
的输出,而是使用-exec
您应该将
$i
括在引号中以防止通配和分词。这可能是您问题的原因。
关于linux - 基于两个条件的嵌套查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43607177/