gpt4 book ai didi

mysql - 如何在for循环中检查文件是否比15分钟更新

转载 作者:行者123 更新时间:2023-11-29 04:06:01 25 4
gpt4 key购买 nike

我希望处理在 15 分钟内修改过的文件,忽略其余部分。我想在 for 循环中执行此操作,例如:

for f in *; do
if test 'find $f -mtime -0h15m'
then
mysql -e "load data local infile '"$f"'
into table "$MYSQL_TABLE"
fields terminated by '\t'
lines terminated by '\n'
ignore 1 lines" -u$MYSQL_USER -p$MYSQL_PASS $MYSQL_DB --local-infile
fi
done

当我运行上面的命令时,所有文件都会被导入,即使是那些超过 15 分钟的文件。

最佳答案

你有两个问题。

首先,-mtime 的参数是天数,而不是分钟,您需要使用 --mmin 来指定以分钟为单位的差异。

其次,您使用了错误类型的引号。要将字符串的结果替换为命令,您必须使用反引号或 $()。由于引号仅返回文字字符串,因此它们不执行命令。

如果文件名包含空格或其他特殊字符,您还应该引用它以防止出现问题。

所以应该是:

if test "$(find "$f" -mmin -15)"
then

关于mysql - 如何在for循环中检查文件是否比15分钟更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39155343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com