【发布时间】:2021-03-25 22:50:15
【问题描述】:
我正在编写一个脚本,该脚本根据文件名中包含的纪元时间创建子文件夹。 这是一个示例文件名;
movie_lotr_frodo_1608020500_1608020510
想要的输出;
frodo/2020-12-15/movie_lotr_frodo_1608020500_1608020510
这是我的脚本;
dir="/root/user/test"
cd "$dir"
for x in *; do
name=`echo $x | awk -F"_" '{print $3}'`
epoch=`echo $x | awk -F"_" '{print $5}'`
hrdate=$(date -r "$epoch" +%Y-%m-%d)
mkdir -p "$name/$hrdate"
mv -- "$x" "$name/$hrdate"
done
我得到了错误;
date: 1068020510: No such file or directory
它会创建 $name 文件夹,但不会创建 $hrdate 文件夹。用date -d 或未引用的$epoch 等日期尝试了几件事,但我不知道我在什么方面失败了。
编辑:我根据#tripleee 的回答对脚本进行了一些更改
【问题讨论】:
-
我在制作这个脚本时参考了这篇文章; unix.stackexchange.com/q/66494/434132
标签: bash date variables epoch mkdir