从 csv 列表中删除超过 1 天的文件时出错

error to delete files older than 1 day from csv list

我想从供应 csv 文件中删除目录中的文件,如果它早于 1 天。

我尝试打印它们以供测试:

in.txt

1,one
2,two

代码:

 INPUT="in.txt"
 while IFS=',' read -r id name
 do
   find tmp/$name -mtime +1 -type f
 done < "$INPUT"

此代码抛出错误:

find: bad status-- tmp/one
find: bad status-- tmp/two

谢谢。

回想一下 find 命令的形式是

 find ${baseDir} -${options ......} args to opts.

您的表格显示

find tmp/$name -mtime +1 -type f
# --^^^^^^^^^^ -- start looking in dir tmp/$name

你可能想说

find tmp -name $name -mtime +1 -type f
#---^^^^^ start looking in the tmp dir

可能不需要保留 -type f,但它会阻止您匹配目录而不是文件。

IHTH.