OnWorks favicon

clfmerge - Online in the Cloud

Run clfmerge in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command clfmerge that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



clfmerge - merge Common-Log Format web logs based on time-stamps


clfmerge [--help | -h] [-b size] [-d] [file names]


The clfmerge program is designed to avoid using sort to merge multiple web log files. Web
logs for big sites consist of multiple files in the >100M size range from a number of
machines. For such files it is not practical to use a program such as gnusort to merge
the files because the data is not always entirely in order (so the merge option of gnusort
doesn't work so well), but it is not in random order (so doing a complete sort would be a
waste). Also the date field that is being sorted on is not particularly easy to specify
for gnusort (I have seen it done but it was messy).

This program is designed to simply and quickly sort multiple large log files with no need
for temporary storage space or overly large buffers in memory (the memory footprint is
generally only a few megs).


It will take a number (from 0 to n) of file-names on the command line, it will open them
for reading and read CLF format web log data from them all. Lines which don't appear to
be in CLF format (NB they aren't parsed fully, only minimal parsing to determine the date
is performed) will be rejected and displayed on standard-error.

If zero files are specified then there will be no error, it will just silently output
nothing, this is for scripts which use the find command to find log files and which can't
be counted on to find any log files, it saves doing an extra check in your shell scripts.

If one file is specified then the data will be read into a 1000 line buffer and it will be
removed from the buffer (and displayed on standard output) in date order. This is to
handle the case of web servers which date entries on the connection time but write them to
the log at completion time and thus generate log files that aren't in order (Netscape web
server does this - I haven't checked what other web servers do).

If more than one file is specified then a line will be read from each file, the file that
had the earliest time stamp will be read from until it returns a time stamp later than one
of the other files. Then the file with the earlier time stamp will be read. With
multiple files the buffer size is 1000 lines or 100 * the number of files (whichever is
larger). When the buffer becomes full the first line will be removed and displayed on
standard output.


-b buffer-size
Specify the buffer-size to use, if 0 is specified then it means to disable the
sliding-window sorting of the data which improves the speed.

-d Set domain-name mangling to on. This means that if a line starts with as the name
of the site that was requested then that would be removed from the start of the
line and the GET / would be changed to GET http://www.company.com/ which allows
programs like Webalizer to produce good graphs for large hosting sites. Also it
will make the domain name in lower case.


0 No errors

1 Bad parameters

2 Can't open one of the specified files

3 Can't write to output

Use clfmerge online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    FormKiQ Core is an Open Source Document
    Management System (DMS), available to
    run as a headless software or with a
    web-based client, deployed to your
    Amazon We...
    Download formkiq-core
  • 2
    Blackfriday is a Markdown processor
    implemented in Go. It is paranoid about
    its input (so you can safely feed it
    user-supplied data), it is fast, it
    supports c...
    Download Blackfriday
  • 3
    QNAP NAS GPL Source
    QNAP NAS GPL Source
    GPL source for QNAP Turbo NAS.
    Audience: Developers. User interface:
    Web-based. Programming Language: C,
    Java. Categories:System, Storage,
    Operating System Ker...
    Download QNAP NAS GPL Source
  • 4
    Vuls is open-source, agent-less
    vulnerability scanner based on
    information from NVD, OVAL, etc. Vuls
    uses multiple vulnerability databases
    Download Vuls
  • 5
    A Kotlin script that nukes all build
    caches from Gradle/Android projects.
    Useful when Gradle or the IDE let you
    down. The script has been tested on
    macOS, but ...
    Download deep-clean
  • 6
    Eclipse Checkstyle Plug-in
    Eclipse Checkstyle Plug-in
    The Eclipse Checkstyle plug-in
    integrates the Checkstyle Java code
    auditor into the Eclipse IDE. The
    plug-in provides real-time feedback to
    the user about viol...
    Download Eclipse Checkstyle Plug-in
  • 7
    AstrOrz Player is a free media player
    software, part based on WMP and VLC. The
    player is in a minimalist style, with
    more than ten theme colors, and can also
    Download AstrOrzPlayer
  • More »

Linux commands