egg2mirc.awk 1.1 KB

1234567891011121314151617181920212223
  1. #!/bin/awk
  2. # Quite fast log format converter (eggdrop->mirc)
  3. # For those channel stat generators that accept only mirc log format
  4. # use: awk -f egg2mirc.awk channel.log > mircformat.log
  5. #
  6. # Gandalf the Grey <gandalf@irc.pl>
  7. # "The Song Remains The Same" - Led Zeppelin
  8. #
  9. /\[..\:..\] <.+>/ { print $0
  10. next }
  11. /\[..\:..\] Action:/ { $2="*"
  12. print $0
  13. next }
  14. /\[..\:..\] .+ (.+) joined #/ { print $1 " *** " $2 " " $3 " has " $4 " " substr($5,1,length($5)-1)
  15. next }
  16. /\[..\:..\] .+ (.+) left #/ { print $1 " *** " $2 " " $3 " has " $4 " " substr($5,1,length($5)-1)
  17. next }
  18. /\[..\:..\] .+ (.+) left irc/ { print $1 " *** " $2 " " $3 " Quit (" $6 "...)"
  19. next }
  20. /\[..\:..\] .+ kicked from #/ { print $1 " *** " $2 " was " $3 " by " substr($7,1,length($7)-1) " (" $8 "...)"
  21. next }
  22. /\[..\:..\] #.+\: mode change / { if (index($NF,"!")!=0) print $1 " *** " substr($NF,1,index($NF,"!")-1) " sets mode: " substr($0,index($0,"'")+1,length($0)-length($(NF))-index($0,"'")-5)
  23. else print $1 " *** " $NF " sets mode: " substr($0,index($0,"'")+1,length($0)-length($(NF))-index($0,"'")-5)}