From LQWiki
m4 is a macro text processor. It has been a part of Unix-like operating systems for practically forever. The program name m4 stands for macro, just as i18n stands for internationalization.
A text processor takes input text and returns (often different) output text. A macro is a text pattern that is transformed into a new output text pattern by deleting, substituting, duplicating, and whatnot. So m4 reads an input text file containing macro patterns, transforms the macros, then writes the resulting text file.
m4 is powerful, abstruse, and, to certain people, addictive. Normal people probably use perl.
For more information, type
info m4
at your Linux shell. Also, read the m4 Wikipedia article.

This page is available under a