I have seen several variations of this awk code (people have re-written it to show their own email address) and I can’t understand what is going on here. Can someone break it down (perhaps to a smaller example) for me please?
http://www.gnu.org/s/gawk/manual/html_node/Signature-Program.html
Code;
awk 'BEGIN{O="~"~"~";o="=="=="==";o+=+o;x=O""O;while(X++<=x+o+o)c=c"%c";
printf c,(x-O)*(x-O),x*(x-o)-o,x*(x-O)+x-O-o,+x*(x-O)-x+o,X*(o*o+O)+x-O,
X*(X-x)-o*o,(x+X)*o*o+o,x*(X-x)-O-O,x-O+(O+o+X+x)*(o+O),X*X-X*(x-O)-x+O,
O+X*(o*(o+O)+O),+x+O+X*o,x*(x-o),(o+X+x)*o*o-(x-O-O),O+(X-x)*(X+O),x-O}'
Outputs;
dave_br@gmx.com
Most of the magic lies in the printf statement. This is from the awk man page: