find . -maxdepth 1 -type f -exec sh -c 'mv -- "$0" "$0"-$(date +%Y%m%d)' {} \;
我非常接近让这个脚本适用于日常的 csv 文件组。它不是将日期添加到文件末尾,而是将日期添加到文件类型(.csv -> .csv-10-02-2020)。最大深度是这里的问题吗?
答案1
您想在点之前插入日期,因此需要拆分名称:
find . -maxdepth 1 -type f -name '*.*' -exec sh -c 'mv -- "$0" "${0%.*}"-$(date +%Y%m%d).${0##*.}' {} \;
${0%.*}
取名称到.
并${0##*.}
给出扩展名(中间有日期)。
-maxdepth 1
将文件限制为当前目录(不包括子目录)。