genlog.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/sh
  2. export LANG=zh_CN.GBK
  3. file=$1
  4. while true
  5. do
  6. HH=`date +%H`
  7. mv -f "$file" "$file.BAK"
  8. echo "generation $file ${HH}"
  9. touch "$file"
  10. while read LINE
  11. do
  12. datatime=""
  13. cymd=`date +%Y-%m-%d`
  14. chms=`date +%H:%M:%S`
  15. echo $LINE | awk -F ';' {'print $8'} | cut -c 12-19 | read datatime
  16. #echo "$chms --- $datatime"
  17. if [[ "$datatime" > "$chms" ]]; then
  18. sleep 1
  19. fi
  20. mm1=""
  21. mm2=""
  22. echo $LINE | cut -c -15 | read mm1
  23. echo $LINE | sed -e "s/2014-10-13/$cymd/g" | cut -c 16- | read mm2
  24. if [[ "$2" == "1" ]]; then
  25. echo >> $file
  26. fi
  27. printf "%s" "$mm1" >> $file
  28. printf "%s" "$mm2" >> $file
  29. if [[ "$2" != "1" ]]; then
  30. echo >> $file
  31. fi
  32. done < $file.20141013${HH}
  33. CH=$HH
  34. while [[ "$CH" == "$HH" ]];
  35. do
  36. sleep 1
  37. HH=`date +%H`
  38. done
  39. done