A quick and easy way to get the width of your terminal is the command
stty size. I have used it with
diff like this:
diff -y -W `stty size | cut -d” ” -f2` –suppress-common-lines oldfile newfile
Note: This stty option is not available on Solaris, however, if you have it installed, the /usr/openwin/bin/resize command sets the COLUMNS variable.
update: This post originally said “width of your Linux terminal” but as noted in the comments, this feature of
stty is also available in *BSD implementations, even though it is not part of the
POSIX standard. So you should expect this to work on GNU and BSD systems (eg, most GNU/Linux distros, most *BSDs, including OSX) but not on all POSIX-compliant systems (eg, Solaris). I would assume that AIX, HPUX, SCO, the other “traditional” UNIX systems would also not support this, though I have not (yet) tested any of them. YMMV.