[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 1# 娜美


gawk( http://bcn.bathome.net/tool/4.1.0/gawk.exe )的解决方案如下。
将以下脚本以ANSI编码格式保存为filter.awk,在命令行窗口下执行:gawk -ffilter.awk *.txt 即可
  1. BEGIN {
  2. FS = "\t"
  3. split("Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", month, /,/)
  4. for (i in month) {
  5. m_digit[month[i]] = i
  6. }
  7. }
  8. b3 == 1 && $3 == 2, $3 == 3 {
  9. if (b3 == 1 && $3 == 2) {
  10. bb2 = b2
  11. bb5 = b5
  12. oID = 1
  13. }
  14. if ($3 > 3 || $3 < 2) {
  15. oID = 0
  16. }
  17. if (($3 == 3) && (bb5 == $5) && (oID == 1)) {
  18. Dt = c_sec($2) - c_sec(bb2)
  19. if ((Dt <= 2) && (Dt >= -2)) {
  20. print FILENAME
  21. nextfile
  22. }
  23. }
  24. }
  25. {
  26. b3 = $3
  27. b2 = $2
  28. b5 = $5
  29. }
  30. function c_sec(dat)
  31. {
  32. split(dat, t, /[ :,.]+/)
  33. return mktime(sprintf("%4d %02d %02d %02d %02d %02d", t[3], m_digit[t[1]], t[2], t[4], t[5], t[6]))
  34. }
复制代码
1

评分人数

TOP

返回列表