<%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <% /* 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 uri = line.split(" ")[7]; String tmp = uri.split("=")[1]; String version = tmp.split("&") [0]; 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 %>