#! /usr/bin/gawk -f # Enumerates all trigraphs in the input file. # Lines are implicitly padded with 2 blanks on either side. /./ { m = length($0) str = (" " $0 " ") for( i=1; i<= m+2; i++ ) { print substr(str, i, 3) } next } /^$/ { next }