<%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <%@ page import="dk.thoerup.genericjavautils.HttpUtil" %> <% /* cat bin/traininfo-version.sh #!/bin/bash FILE=/var/log/apache2/access.log if [ "$1" != "" ] ; then grep traininfo/version $FILE | grep $1 | awk '{print $8}' | awk -F= '{print $2}' | awk -F\& '{print $1}' | sort | uniq -c else grep traininfo/version $FILE | awk '{print $8}' | awk -F= '{print $2}' | awk -F\& '{print $1}' | sort | uniq -c fi */ File f = new File("/var/log/apache2/access.log"); InputStream input = new FileInputStream(f); BufferedReader in = new BufferedReader( new InputStreamReader(input) ); Map versions = new TreeMap(); String line; while ( (line=in.readLine()) != null) { if (line.indexOf("traininfo/version") == -1) continue; String version = ""; String parts[] = line.split(" "); if (parts.length >= 8) { String uri = parts[7]; String tmpVer = HttpUtil.decodeUri(uri).get("version"); if (tmpVer != null) version = tmpVer; } Integer count = versions.get(version); if (count == null) count = 0; versions.put(version, count+1); } %> Traininfo versions

Versions

Counts are extracted from apache access log <% for (String key : versions.keySet()) { int val = versions.get(key); %> <% } %>
<%=key%><%= val %>