Homepage
What's new?
Maisach-Infos
maisachtal.info
Tipps & Tools
Freeware Tools
About...
cgrep.exe
AWK scripting
ls.exe
Jokes/Gags
Fotogalerien
Opt. Täuschungen
Was ist Klabaster?

Klabaster home...

Freeware
command line tools

...ready for downloading!

rotating floppy disc

Freeware-
Kommandozeilen-Tools

...zum Download!

Klabaster home...

 
CGREP
V
GAWK for Win32
MAWK for Win32
V
AWKA for MinGW32
V
concat.exe
(Smart
concatenation)
V
LS, L, LL,
LSDIR, LST

V

command line tools / Tools für die Kommandozeile


Aus beruflichen Gründen haben sich im Laufe der Zeit eine Reihe privat erstellter Tools angesammelt, die bei Kommandozeilenfetischisten bereits viel Zuspruch gefunden haben. Dabei sind eine Vielzahl von Anregungen in diese Tools eingeflossen. Die Tools befinden sich im ständigen beruflichen und privatem Einsatz, sie sind also optimal ausgetestet und sind stabil. Insbesondere Softwareentwickler, die in der Kommandozeilenumgebung arbeiten wollen oder müssen, wissen diese Tools zu schätzen.
Einige dieser Tools, die für die Kommandozeilen von DOS und Win32 erstellt wurden, möchte ich hier kurz vorstellen und zum Download bereitstellen. Leider kann ich in keine Gewähr und Garantie für diese Software übernehmen. Daher möchte ich unbedingt darauf hinweisen, dass die Benutzung auf eigene Verantwortung geschieht.

Alarm Be careful using unknown software
and software with strange origin
because of virus infection and trojan horses!

Alarm Vorsicht bei unbekannter Software
und bei Software unbekannter Herkunft
vor Viren und trojanischen Pferden!

Because nobody can predict what happens to the data on the way from the server to your disk drive, I advise to check this tools at once with an updated virus scanner before the first "run".

Da ich nicht vorhersagen kann, was auf dem Weg des Downloaden vom Server bis zur Speicherung auf der Platte alles mit dieser Software geschieht, rate ich dringend, vor dem ersten "run" dieser Tools einen Virencheck mit einem aktuellen Virenscanner durchzuführen.

Please inform me immediately when your virus check gets a suspicious result so I can avoid possibly damage.

Sollte beim Viren-Check etwas auffälliges festgestellt werden, bitte ich um sofortige Benachrichtigung, damit ich etwas dagegen unternehmen kann.


- - - - - - - - - - - - - - - - - - - - - - - - - - -

forward/weiter...
down/nach unten...

 

CGREP.EXE

Colored searching and finding text in files (DOS 16-bit)


typical output of cgrep.exe


This GREP tool CGREP.EXE differs to other GREP- and EGREP-tools by its clear, coloured output. For redirecting the outputs into files it can also generate standard text output. In addition, CGREP.EXE is able to search for several patterns simultaneously. It has also an option to show only those lines in which all searched patterns occur.
A short built-in help displays all available options and the presets of those options when CGREP.EXE is invoked without any arguments.
This tool however does not support long file names and supports only the DOS specific OEM character set but runs also in any DOS box at Win32.

Dieses Grep-Tool unterscheidet sich von der "Konkurrenz" GREP und EGREP durch seine übersichtliche, farbige Ausgabe. Zur Umleitung der Ergebnisausgabe in Dateien kann aber auch auf die Standardausgabe umgeschaltet werden. Mit CGREP.EXE kann man außerdem gleichzeitig nach mehreren Patterns/Begriffen in Dateien suchen. Außerdem gibt es die Option, nur diejenigen Zeilen anzuzeigen, in denen alle Patterns auch wirklich vorkommen. Eine Kurz-Hilfe zur Bedienung und die Anzeige voreingestellter Optionen erhält man, wenn man CGREP.EXE ohne Argumente aufruft. Das Programm ist auch in der "Eingabeaufforderung" unter Win32 lauffähig, unterstützt dort aber keine langen Dateinamen und kennt ausschließlich den DOS-spezifischen OEM-Zeichensatz.


up/nach oben...
back/zurück...
forward/weiter...
down/nach unten...

 
Free download of cgrep.zip
(Version 1.3)

(US-)English language (Version in English, 19 kBytes)


- - - - - - - - - - - - - - - - - - - - - - - - - - -

MAWK, GAWK, AWK95 and AWKA:
Interpreter and compiler for
AWK pattern processing script language.

MAWK: Windows 32 bit version, optimized for getting the
highest possible speed and best performance
of all known AWK interpreters.


mawk / mawk.exe for Win32

VDownloads...

Windows 32-bit version of Dr. Michael ("Mike") D. Brennan's ultrafast implementation of the famous and easy-to-learn pattern processing language interpreter including

  • speed optimized special version of mawk.exe running on the Windows 32 bit command line interface,
  • a detailed (N)AWK language reference manual,
  • a mawk user manual.

MAWK32 is extremely useful for intensive processing of large files because this 32-bit mawk.exe implementation is remarkably faster than GNU-awk (gawk.exe/pgawk.exe) implementation(s) and Perl scripts or even AWK scripts running at Brian W. Kernighan's original NAWK (awk95.exe) implementation!


AWKA for MingW32 (Win32), version 0.7.5 (binary distribution)

Compiling any AWK script and producing a fast stand-alone Win32 executable

This is a ported binary-only 32-bit Windows distribution of


Andrew Sumner's AWKA (http://awka.sourceforge.net)


for usage in combination with a previously installed


MinGW32 C/C++ compiler - Minimalist GNU for Win32 - Version 2    (http://www.mingw.org).


  • AWKA comprises a translator of the AWK programming language to ANSI-C and a library against which translated programs may be linked.
  • For using AWKA you only have to
    • install the MinGW32 compiler;
    • copy 3 files included in this distribution into the specified directories.
VDownload...

Quick overview about AWK scripting

  • Enormous distribution of the script language: It is available on all common operating systems;
  • Usenet discussion group comp.lang.awk gives a really good overview and, if needed, some assistance about using AWK implementations on any platform. Please note, that the link above works only correcly after configuring an Usenet newsreader (e.g. Outlook Express, Forté Free Agent, 40tude Dialog or XNews) support at your web browser.
    In other cases you may take look at the Google-Groups);
  • Only the interpreter (in this case mawk.exe) is needed for running the scripts -
    no external libraries etc. are necessary;
  • Easy-to-learn script language using the common C language syntax and semantics but:
    • no preprocessor;
    • no pointers / addresses;
    • no structures and -unions;
    • multi dimensional arrays are accessed in a different way;
    • "switch()...case...default..." statement not available in standard AWK;
    • "sprintf()" function works different and is more powerful compared with standard-C;
    • script execution is controlled by rules, not by main(...);
    • comments always starts with # and ends at the end of the same line;
    • no support for bit manipulation or bit shifting;
    • only a subset of standard library functions and -procedures available.
    But additionally:
    • smart automatic variable type handling;
    • predefined built-in variables;
    • simplified file handling;
    • regular expressions and pattern processing features;
    • string handling features and string processing functions;
    • initialization and cleanup rules possible;
    • strings are also accepted as array indices, which can be used as a substitute for structure types;
    • and many more... (please refer to the language reference manual
      which is part of this distribution).
  • In most cases it is much faster and easier writing a short AWK script than implementing some code in C or C++;
  • AWK script language features are a subset of the Perl script language -
    For easy conversion of AWK scripts into Perl scripts you may use the a2p tool which is part of almost every Perl language distribution;
  • Interpreter and compiler are freely available.

Overview and comparison of freely available AWK interpreters at Win32

AWK95
"original"
(Brian W. Kernighan)

(awk95.exe)

GAWK
(Gnu-AWK Rel.:3.1.6)

MAWK
(M. Brennan)

A2P.exe
& ActivePerl
interpreter

Compatibility standard POSIX;
many extensions
POSIX;
SystemVR4;
some extensions
poor:
Mostly the converted scripts need some modifications before they work correctly
Assistance at script development poor acceptable:
built-in LINT;
precise error messages and warnings
poor good:
Perl debugger available in most distributions
Speed medium slow...medium
(depends on binary distribution)
ultrafast medium...fast
(converted code isn't optimized for speed)
Reliability good good good good
Maintenance very good good none medium
Distribution at other OS source distrib.
& Win32
many restricted many

Downloads

Free download of:

MAWK (mawk32.zip) (Version 1.3.3)
including: "The AWK Manual"

Win32 executable

(US-)English language (Version in English, 176 kBytes)

also available:

MAWK (mawk32n.zip) (Version 1.3.3)
without additional manual

Win32 executable

(US-)English language (Version in English, 96 kBytes)

Free download of the latest version
(Oct. 2007)
of GAWK/PGAWK (gawk32.zip)

(Version 3.1.6)

Win32 executable

(US-)English language (Version in English, 337 kBytes)


The experimental feature... " switch()...case...default... " ...is enabled in this binary distribution.

Free download of the complete book:

Arnold D. Robbins
GAWK: Effective AWK Programming

A User's Guide for GNU Awk
Edition 3 - June, 2005
(PDF format, 352 pages, English language.

(US-)English language (Zip file, 1.25 Mbytes)
Note: This book is also part of the official distribution of GAWK at ftp://ftp.gnu.org/gnu/gawk

Free download of AWKA (awka.zip) (Version 0.7.5)
This AWKA distribution works in cooperation with the MinGW32 compiler suite.
AWK language pre-compiler specially ported for Win32.
The tool will produce ANSI-C-language program code for the MinGW32 Compiler Version 2.
The distribution contains also a precompiled AWKA library"libawka.a" necessary for binding into a binary standalone executable file with high performance and high speed!
Including installation instructions.

(US-)English language (Version in English, 221 kBytes)



Short example demonstrating some AWK features...

A simple example shows some advantages of simple AWK scripts.
This script concatenates two text files in a smart way:
Even if there is an overlapping at their contents, both files are put together correctly.

Example:
Auto-append file_2.txt to file_1.txt:

   mawk -f concat.awk file_1.txt file_2.txt > file_full.txt
using the binary distribution:
   concat file_1.txt file_2.txt > file_full.txt
The result of this smart concatenation will be stored into file_full.txt.

Example:

Source of concat.awk:

Contents of:
file_1.txt

Line01
Line02
Line03
Line04
Line05

Contents of:
file_2.txt

Line04
Line05
Line06
Line07

Resulting file:
file_full.txt

Line01
Line02
Line03
Line04
Line05
Line06
Line07

Free download of concat.zip
(Zip archive, 4 kBytes) containing:

  • the source distribution;
  • example files in UNIX;
  • example files in DOS/Windows format;
  • a short description;

in (US-)English language English language
und Beschreibung auch in Deutschsprachig Deutsch.

Free download of concatx.zip
(Zip archive, 74 kBytes) containing:

  • concat.exe, the ready-to-run version;
  • the source distribution;
  • example files in UNIX;
  • example files in DOS/Windows format;
  • a short description;

in (US-)English language English language
und Beschreibung auch in Deutschsprachig Deutsch.



 
 

- - - - - - - - - - - - - - - - - - - - - - - - - - -

Directory lister for DOS (16-bit)
and Win32 (Windows 95 / Windows 98 / Windows 2000 / Windows NT / Windows XP / Vista)

LS.EXE, LL. EXE, L.EXE, LST.EXE, LSDIR.EXE

Multi-purpose directory lister updated in March and June 2003 (English & Deutsch)
Changes:

(US-)English language

  • 32 bit version with higher performance
  • Better adaptation for running at command lines in Win-XP / Vista
  • Extensive bug-fixing
  • Combined Standard version (includes now features of the former "PRO" version also)

deutsch

  • 32-Bit-Version mit höherer Performance
  • Bessere Anpassung an die Kommandozeile von Win-XP / Vista
  • Umfangreiche Fehlerbehebung
  • Kombinierte Standard-Version (Enthält nun auch Anteile der ehemaligen "PRO"-Version)


typical output of l.exe


deutsch Ursprünglich war es geplant, das Look and Feel des UNIX-Befehls ls möglichst komfortabel auf die DOS-Ebene zu übertragen. Aus diesem Wunsch heraus entstand der Verzeichnis-Lister LS.EXE, der im Laufe seiner Entwicklung zu einer Art eierlegenden Wollmilchsau herangewachsen ist.

Da er mittlerweile mehrere hundert Aufrufoptionen und -Kombinationen beherrscht, und zudem über eine Reihe von Zusatzfeatures verfügt, habe ich eine Eingabehilfe entwickelt, die sinnvolle Optionen vorwählt:
Die voreingestellten, sinnvollen Aufrufoptionen ändern sich, wenn man das Tool einfach umbenennt.
Besonders augenfällig ist dieses zum Beispiel bei L.EXE:
Bei Aufruf von l ab werden beispielsweise in übersichtlicher Darstellung alle Dateien im Verzeichnis angezeigt, in denen die Buchstabenfolge ab an beliebiger Stelle vorkommt.

(US-)English language Features of LS.EXE:

(also including LS.EXE,
LL.EXE, L.EXE, LST.EXE, LSDIR.EXE)

  • Useful options are already predefined when this tool is renamed to:
    LS.EXE, LL.EXE, L.EXE, LST.EXE, LSDIR.EXE (the user is able to create own variations and can extend this list using environment variables!)
  • With ls -? you'll get a help output, a manual can be printed using ls -M > LPT1.
  • This tool is available in international versions (in English language) and in German language versions.
  • All UNIX-style wildcards are supported but the tool can be configured to work compatible to the DOS-/Windows DIR command as well.
  • Wildcards/Patterns are also supported in path names.
  • The special wildcard character "plus" + stands for comfortable subdirectory search; there is no better way for a specifically search on files in sub directories.
    Example: A list of all files having the extension .bat in the sources directory and in any directory below is produced with:
    l sources\+\*bat
  • The slash / instead of the DOS-/Windows-common backslashes can also be used as a path name limiter. All output path names then will also be separated with / and this behaviour allows a perfect better redirection to file lists which shall be used in UNIX environment.
  • A number of predefined colour palettes are available for marking different file types at the output.
    These colours are chosen depending on file extensions.
  • Information about the file system and statistics is available too.
  • A file search depending on the file date is possible. For example all files and directories which were edited, changed or created in a particular week or at a specified day can be found easily.
  • Extensive, combinable sorting options are implemented.
  • There are still many additional features, e.g. the possibility to generate batch files to call ls.exe in a way that the tool have not been stored under many different names for accessing the predefined option settings depending on the tool's name...
    It is simply the best way trying out all the additional features after the "studies" of the manual!
  • Known bugs and limitations:
    • NTFS- and network access rights aren't displayed properly;
    • some special characters are represented improperly in Win32 environment - this behaviour depends on your code page you haven chosen for output;
    • file-, directory- and disk sizes exceeding 4 Gbyte are not displayed correctly.

deutsch Besonderheiten von LS.EXE:

(und somit auch von LS.EXE,
LL.EXE, L.EXE, LST.EXE, LSDIR.EXE)

  • Sinnvolle Aufruf-Optionen sind bereits voreingestellt, wenn man das Tool entsprechend umbenennt:
    LS.EXE, LL.EXE, L.EXE, LST.EXE, LSDIR.EXE (man kann über Umgebungsvariablen diese Liste mit eigenen "Kreationen" nach eigenem Geschmack verändern und erweitern!)
  • Hilfstexte werden über ls -? ausgegeben, ein Bedienungs-Handbuch kann mit ls -M > LPT1 ausgedruckt werden.
  • Das Tool existiert als internationale Version (in Englisch) und in Deutsch.
  • Alle Platzhalterzeichen (Wildcards) im UNIX-Stil werden unterstützt, aber es kann auch auf die Platzhalter nach DOS-Art umgeschaltet werden.
  • Platzhalterzeichen können auch für Pfadnamen verwendet werden.
  • Das Platzhalterzeichen "Plus" + steht für komfortable Unterverzeichnissuche; man kann damit viel gezielter nach Dateien in Unterverzeichnissen suchen.
    Beispiel: Eine Liste aller Dateien auf, die unter dem Verzeichnis Sources beliebig tief verzweigt mit bat enden, erhält man mit:
    ls sources\+\*bat
  • Auch / ist als Verzeichnistrenner erlaubt. Die Ausgabe erfolgt dann ebenfalls mit / und kann auf Dateien umgeleitet werden, die von UNIX aus benutzt werden sollen.
  • Es gibt eine Reihe von voreingestellten Farbpaletten, um die Ausgabe übersichtlicher zu gestalten. Die Farben werden je nach Dateiendung angezeigt.
  • Es existieren Funktionen, um Infos über das Dateisystem und Statistiken auszugeben.
  • Es existiert eine datumsabhängige Suchfunktion. Es können also z.B. alle Dateien und Verzeichnisse angezeigt werden, die in einer bestimmten Woche oder an einem bestimmten Tag editiert oder verändert wurden.
  • Umfangreiche, miteinander kombinierbare Sortieroptionen werden angeboten.
  • Es gibt noch viele zusätzliche Features, z.B. die Möglichkeit, Batchdateien zum Aufruf von ls.exe zu generieren, damit das Tool nicht unter vielen verschiedenen Namen und für unterschiedliche Betriebssysteme einzeln abgespeichert werden muss, wenn man die namensspezifisch voreingestellten Optionen nutzen möchte, usw. ...
  • Am besten nach dem "Studium" der Hilfstextausgabe selbst ausprobieren, was alles machbar ist!
  • Bekannte Fehler und Einschränkungen:
    • NTFS- und Netzwerk-Zugriffsrechte werden nicht angezeigt;
    • Mit der b-Option werden einige Sonderzeichen in Win32 fehlerhaft umgesetzt - dies liegt an einer Unverträglichkeit der ANSI- zu den DOS-Zeichencodes;
    • Datei- und Verzeichnisgrößen über 4 GByte werden nicht korrekt angezeigt.

up/nach oben...
down/nach unten...

 

Free download of ls16en.zip
(DOS-16-bit version: June 19, 2003)

(US-)English language (Version in English: 43 kBytes)

Freier Download von ls16de.zip
(DOS-16-bit Version vom 19. Juni 2003)

Deutschsprachig (Version in Deutsch: 43 kBytes)

Free download of ls32en.zip
(Win32 version, June 19, 2003)

...including full support of long file names and
path names in the DOS box of
Win 95/98/ME, WinNT, Win2000, WinXP, Win2003 und Vista
(US-)English language (Version in English: 59 kBytes)

Freier Download von ls32de.zip
(Win32 Version vom 19. Juni 2003)

...mit Unterstützung langer Datei- und Pfadnamen
in der MS-DOS-Eingabeaufforderung unter
Win 95/98/ME, WinNT, Win2000, WinXP, Win2003 und Vista
Deutschsprachig (Version in Deutsch: 60 kBytes)


- - - - - - - - - - - - - - - - - - - - - - - - - - -

Klabaster-Impressum

up/nach oben...
Klabaster home...
hottips (deutsch/german)...