我正在寻找批量重命名由Eggdrop bot创建的近1,000个日志文件的方法。几年前,我不得不从头开始设置机器人,而忽略了正确设置日志格式,因此所有这些文件现在都具有以下格式:
channelname.log。%d%b%Y(channelname.log.14Jan2014)
我想重命名所有这些文件以匹配所有旧日志文件,格式为:
channelname.log。%Y%m%d(channelname.log.20140101)
我已经在eggdrop.conf文件中进行了更改,但是我想重命名所有较新的日志文件以匹配旧文件的格式。
这是在Linux shell上,所以某种bash命令是理想的。谢谢!
答案 0 :(得分:2)
find . -type f -name '*.log.*[^0-9-]*' -print0 | while read -d '' -r logfile; do
mv "${logfile}" "${logfile/.log.*/.log.`date -d ${logfile#*.log.} +%Y-%m-%d`}"
done
假设它在区域设置date
知道如何处理。