我正在寻找一种方法来批量重命名由 Eggdrop 机器人创建的近 1,000 个日志文件。几年前,我不得不从头开始设置我的机器人,而忽略了正确设置日志格式,所以所有这些文件现在都具有以下格式:
channel 名.log.%d%b%Y ( channel 名.log.14Jan2014)
我想重命名所有这些文件以匹配我所有的旧日志文件,其格式为:
channel 名.log.%Y%m%d ( channel 名.log.20140101)
我已经在我的 eggdrop.conf 文件中进行了更改,但我想重命名所有较新的日志文件以匹配旧日志文件的格式。
这是在 Linux shell 上,所以某种 bash 命令是理想的。谢谢!
最佳答案
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
知道如何处理的语言环境中。
关于linux - 将日志文件从一种时间格式批量重命名为另一种时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27003174/