manpagez: man pages & more
info gawk
Home | html | info | man

File: gawk.info,  Node: Comments,  Next: Quoting,  Prev: Executable Scripts,  Up: Running gawk

1.1.5 Comments in 'awk' Programs
--------------------------------

A "comment" is some text that is included in a program for the sake of
human readers; it is not really an executable part of the program.
Comments can explain what the program does and how it works.  Nearly all
programming languages have provisions for comments, as programs are
typically hard to understand without them.

   In the 'awk' language, a comment starts with the number sign
character ('#') and continues to the end of the line.  The '#' does not
have to be the first character on the line.  The 'awk' language ignores
the rest of a line following a number sign.  For example, we could have
put the following into 'advice':

     # This program prints a nice, friendly message.  It helps
     # keep novice users from being afraid of the computer.
     BEGIN    { print "Don't Panic!" }

   You can put comment lines into keyboard-composed throwaway 'awk'
programs, but this usually isn't very useful; the purpose of a comment
is to help you or another person understand the program when reading it
at a later time.

     CAUTION: As mentioned in *note One-shot::, you can enclose short to
     medium-sized programs in single quotes, in order to keep your shell
     scripts self-contained.  When doing so, _don't_ put an apostrophe
     (i.e., a single quote) into a comment (or anywhere else in your
     program).  The shell interprets the quote as the closing quote for
     the entire program.  As a result, usually the shell prints a
     message about mismatched quotes, and if 'awk' actually runs, it
     will probably print strange messages about syntax errors.  For
     example, look at the following:

          $ awk 'BEGIN { print "hello" } # let's be cute'
          >

     The shell sees that the first two quotes match, and that a new
     quoted object begins at the end of the command line.  It therefore
     prompts with the secondary prompt, waiting for more input.  With
     Unix 'awk', closing the quoted string produces this result:

          $ awk '{ print "hello" } # let's be cute'
          > '
          error-> awk: can't open file be
          error->  source line number 1

     Putting a backslash before the single quote in 'let's' wouldn't
     help, because backslashes are not special inside single quotes.
     The next node describes the shell's quoting rules.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.