我正在尝试在 Mac 上循环浏览目录中的所有视频,并将文件的详细信息(持续时间、大小和时间)添加到 mysql 数据库中。但由于某种原因,每次它在 mysql 部分失败。
如果我采用脚本生成的 mysql 查询并在 mysql db 上运行它,它工作正常。任何人都可以提供帮助吗?
#!/bin/bash
OrDir="/Volumes/Misc/video"
find "$OrDir" -type f -exec /bin/bash -c \
'name=$(basename "$1")
name=${name%.*}
duration=$( ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 -sexagesimal "$1")
hash=$( md5 "$1" | cut -f 4 -d " ")
size=$( stat -f%z "$1")
QUERY="UPDATE Video SET Duration=\"$duration\", Hash=\"$hash\", Bytes=$size WHERE Name=\"$name\" "
echo "$QUERY \n"
mysql --host=**.**.**.** --user=**** --password=****** **** << EOF
$QUERY;
EOF
' _ {} \;
它们省略了敏感数据并且是正确的*
(它们在另一个 shell 脚本中使用相同的方法在同一台服务器上运行良好)
这只是一个更大的脚本的一部分,一旦它正常工作,它将被合并