« 写了个 checklink 链路健康检查(延时 丢包率) | Main | 全串匹配 长度相等 »
December 7, 2006
处理 windows 下 ls-lR 的正则表达式
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。 https://windtear.net/archives/2006/12/07/001157.html http://windtear.net/archives/2006/12/07/001157.html 处理 windows 下 ls-lR 的正则表达式 一定要用正则 而不能用 split 然后判断非空增加下标 比如如果文件/目录名最后有空格字符用split就不行了 Linux lslR 的处理正则表达式: /^([a-z-]{10})\s+(\d+)\s+(.*?)\s+(.*?)\s+(\d+)\s+(\w+)\s+(\d+)\s+([\d:]+)\s+(.+)$/x Windows lslR 的处理正则表达式: /^([a-z-]{10})\s+(\d+)\s+(.*?)\s+(.*?)\s+(\d+)\s+(\d+)-(\d+)-(\d+)\s+([\d:]+)\s+(.+)$/x 三个区别 1. 日期格式不同 2. 用户名 windows 有可能是带空格的 3. windows 下有 \r 回车字符 后两个区别倒是不影响正则表达式的写法 我们关注的信息是文件大小 文件日期 文件名 其余都无所谓了 $filename =~ s/\r//g; |
Posted by windtear at December 7, 2006 11:46 PM