COL(1)

๐Ÿ’– COL(1) โ€” the glow-up edition ๐Ÿ’–

okay so bestie, welcome to col, a User Commands classic. she's giving quiet-luxury command-line filter energy and honestly? she eats. let's get into it.


โœจ NAME โœจ

col โ€” filter reverse line feeds from input ๐ŸŒ€


๐ŸŒธ SYNOPSIS ๐ŸŒธ

col options

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so here's the vibe: col filters out reverse (and half-reverse) line feeds so the output comes out in the correct order, with only forward and half-forward line feeds left. she also replaces any whitespace characters with tabs where possible. this is lowkey iconic when you're processing the output of nroff(1) and tbl(1). ๐Ÿ‘‘

col reads from standard input and writes to standard output. that's it, that's the whole personality. ๐ŸŽ€


๐Ÿ’… OPTIONS ๐Ÿ’…

  • -b, --no-backspaces โ€” do not output any backspaces, bestie. just print the last character written to each column position. no rewinding, no take-backs. ๐Ÿ’€
  • -f, --fine โ€” permit half-forward line feeds. normally characters destined for a half-line boundary get printed on the following line instead. so this is the "actually, let me sit right on the line" option. โœจ
  • -h, --tabs โ€” output tabs instead of multiple spaces. crisp. clean. tab girl summer. ๐ŸŒˆ
  • -l, --lines number โ€” buffer at least number lines in memory. by default, 128 lines are buffered. more lines = more brain space. ๐Ÿง 
  • -p, --pass โ€” force unknown control sequences to be passed through unchanged. normally col filters out any control sequences other than those she recognizes and interprets herself (the ones listed below ๐Ÿ‘‡). no gatekeeping, just vibes.
  • -x, --spaces โ€” output multiple spaces instead of tabs. the opposite of -h. pick your fighter. ๐ŸฅŠ
  • -H, --help โ€” display help text and exit. your girl is helpful fr fr. ๐Ÿซถ
  • -V, --version โ€” display version and exit. main character announcement moment. โญ

๐Ÿ“œ CONFORMING TO ๐Ÿ“œ

the col utility conforms to the Single UNIX Specification, Version 2. and just so you know โ€” the -l option is an extension to the standard. she's extra, but officially extra. ๐Ÿ’


๐Ÿ”ฅ NOTES ๐Ÿ”ฅ

the control sequences for carriage motion that col understands, plus their decimal values, are all listed here. take notes bestie, this is the lore:

  • ESC-7 โ€” reverse line feed (escape then 7)
  • ESC-8 โ€” half reverse line feed (escape then 8)
  • ESC-9 โ€” half forward line feed (escape then 9)
  • backspace โ€” moves back one column (8); ignored in the first column
  • newline โ€” forward line feed (10); also does carriage return
  • carriage return โ€” (13)
  • shift in โ€” shift to normal character set (15)
  • shift out โ€” shift to alternate character set (14)
  • space โ€” moves forward one column (32)
  • tab โ€” moves forward to next tab stop (9)
  • vertical tab โ€” reverse line feed (11)

all unrecognized control characters and escape sequences are discarded. gone. blocked. ๐Ÿ™ˆ

col keeps track of the character set as characters are read, and makes sure the character set is correct when they are output. she's paying attention, always. ๐Ÿ‘€

if the input attempts to back up to the last flushed line, col will display a warning message. so likeโ€ฆ don't do that. consider this your heads-up. โš ๏ธ

๐ŸŽ€ HISTORY ๐ŸŽ€

a col command appeared in Version 6 AT&T UNIX. vintage. archival. legendary. she's been that girl since the beginning. ๐Ÿ‘‘


๐ŸŒŸ SEE ALSO ๐ŸŒŸ

expand(1), nroff(1), tbl(1) โ€” go read those too, they're all in the group chat. ๐Ÿ’œ


๐Ÿ’Œ REPORTING BUGS ๐Ÿ’Œ

for bug reports, use the issue tracker at:

https://github.com/util-linux/util-linux/issues

if something's broken, say it with your chest (politely, in the issue tracker). ๐Ÿ›


๐Ÿ“ AVAILABILITY ๐Ÿ“

the col command is part of the util-linux package, which can be downloaded from the Linux Kernel Archive at:

https://www.kernel.org/pub/linux/utils/util-linux/

okay that's the whole page, bestie. this one's util-linux 2.42.4, dated 2026-09-21, and it's giving COL(1) energy from start to finish. stay filtering, stay forward-line-feeding, and remember โ€” no reverse line feeds, no problems. periodt. ๐Ÿ’–โœจ๐Ÿฆ‹๐ŸŒธ๐Ÿ’…

๐Ÿ“ฆ where this page comes from
  • arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
  • ๐Ÿ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms