Node:Read Terminal, Next:Long, Previous:One-shot, Up:Running gawk
awk
Without Input FilesYou can also run awk
without any input files. If you type the
following command line:
awk 'program'
awk
applies the program to the standard input,
which usually means whatever you type on the terminal. This continues
until you indicate end-of-file by typing Ctrl-d.
(On other operating systems, the end-of-file character may be different.
For example, on OS/2 and MS-DOS, it is Ctrl-z.)
As an example, the following program prints a friendly piece of advice
(from Douglas Adams's The Hitchhiker's Guide to the Galaxy),
to keep you from worrying about the complexities of computer programming
(BEGIN
is a feature we haven't discussed yet):
$ awk "BEGIN { print \"Don't Panic!\" }" -| Don't Panic!
This program does not read any input. The \
before each of the
inner double quotes is necessary because of the shell's quoting
rules--in particular because it mixes both single quotes and
double quotes.1
This next simple awk
program
emulates the cat
utility; it copies whatever you type on the
keyboard to its standard output (why this works is explained shortly).
$ awk '{ print }' Now is the time for all good men -| Now is the time for all good men to come to the aid of their country. -| to come to the aid of their country. Four score and seven years ago, ... -| Four score and seven years ago, ... What, me worry? -| What, me worry? Ctrl-d
Although we generally recommend the use of single quotes around the program text, double quotes are needed here in order to put the single quote into the message.