/usr.bin/col/README

https://bitbucket.org/freebsd/freebsd-head/ · #! · 48 lines · 41 code · 7 blank · 0 comment · 0 complexity · 7a513967f753be4f7464555020d7ec34 MD5 · raw file

  1. # @(#)README 8.1 (Berkeley) 6/6/93
  2. #
  3. # $FreeBSD$
  4. col - filter out reverse line feeds.
  5. Options are:
  6. -b do not print any backspaces (last character written is printed)
  7. -f allow half line feeds in output, by default characters between
  8. lines are pushed to the line below
  9. -p force unknown control sequences to be passed through unchanged
  10. -x do not compress spaces into tabs.
  11. -l num keep (at least) num lines in memory, 128 are kept by default
  12. In the 32V source code to col(1) the default behavior was to NOT compress
  13. spaces into tabs. There was a -h option which caused it to compress spaces
  14. into tabs. There was no -x flag.
  15. The 32V documentation, however, was consistent with the SVID (actually, V7
  16. at the time) and documented a -x flag (as defined above) while making no
  17. mention of a -h flag. Just before 4.3BSD went out, CSRG updated the manual
  18. page to reflect the way the code worked. Suspecting that this was probably
  19. the wrong way to go, this version adopts the SVID defaults, and no longer
  20. documents the -h option.
  21. Known differences between AT&T's col and this one (# is delimiter):
  22. Input AT&T col this col
  23. #\nabc\E7def\n# # def\nabc\r# # def\nabc\n#
  24. #a# ## #a\n#
  25. - last line always ends with at least one \n (or \E9)
  26. #1234567 8\n# #1234567\t8\n# #1234567 8\n#
  27. - single space not expanded to tab
  28. -f #a\E8b\n# #ab\n# # b\E9\ra\n#
  29. - can back up past first line (as far as you want) so you
  30. *can* have a super script on the first line
  31. #\E9_\ba\E8\nb\n# #\n_\bb\ba\n# #\n_\ba\bb\n#
  32. - always print last character written to a position,
  33. AT&T col claims to do this but doesn't.
  34. If a character is to be placed on a line that has been flushed, a warning
  35. is produced (the AT&T col is silent). The -l flag (not in AT&T col) can
  36. be used to increase the number of lines buffered to avoid the problem.
  37. General algorithm: a limited number of lines are buffered in a linked
  38. list. When a printable character is read, it is put in the buffer of
  39. the current line along with the column it's supposed to be in. When
  40. a line is flushed, the characters in the line are sorted according to
  41. column and then printed.