我有几个由以下模式命名的日志文件 Log_yyyy_M_d.log
Log_2010_7_1.log
Log_2010_7_2.log
Log_2010_7_3.log
Log_2010_7_4.log
Log_2010_7_5.log
etc....
我想将它们全部合并到一个文件中,其中内容按日期排序。
所以我想出了这样的事情:
for %f in (*.log) do type “%f” >> mergedlogs.txt
但是,它们不会添加到按日期 (asc) 排序的 mergelogs.txt 文件中。我怎样才能使用标准的 shell/powershell 脚本来完成呢?我希望避免创建一个小的 .exe 来解决这个问题(实际上我想这会节省我很多时间,而不是尝试在 shell 脚本中执行此操作)。
一种方法是让合并语法按顺序排列,但随后我必须将文件重命名为另一种模式 Log_yyyy_MM_dd.log
似乎无法让 shell 脚本通过通配符进行多次重命名
目录 * ? ?.log 和 dir *_?.log 应该给我所有我需要重命名的文件名,但是这种语法并没有给我想要的结果
ren *_?.log *_0?.log
这将是所需的重命名结果:Log_2010_12_1.log >> Log_2010_12_01.log
任何有关 shell 重命名脚本(或 powershell)的帮助将不胜感激,或者可能是另一种实现主要目标的方法,即将所有日志文件合并到一个文件中,其中内容按文件名-日期排序。