.\" Copyright (c) 2023–2024 DTB .\" Copyright (c) 2023 Emma Tebibyte .\" .\" This work is licensed under CC BY-SA 4.0. To see a copy of this license, .\" visit . .TH npc 1 .SH NAME npc \(en show non-printing characters .SH SYNOPSIS npc .RB ( -eht ) .SH DESCRIPTION Npc reads from standard input and writes to standard output, replacing non- printing characters with printable equivalents. Control characters print as a carat ('^') followed by the character '@' through '_' corresponding to the character replaced (e.g. control-X becomes "^X"). The delete character (0x7F) becomes "^?". Characters with the high bit set (>127) are printed as "M-" followed by the graphical representation for the same character without the high bit set. .PP The .B -e option prints a currency sign ('$') before each line ending. .PP The .B -t option prints tab characters as "^I" rather than a literal horizontal tab. .SH DIAGNOSTICS Npc prints a debug message and exits with the appropriate sysexits(3) error code in the event of an error, otherwise it exits successfully. .SH BUGS Npc operates in single-byte chunks regardless of intended encoding. .SH RATIONALE POSIX currently lacks a way to display non-printing characters in the terminal using a standard tool. A popular extension to cat(1p), the -v option, is the bandage solution GNU and other software suites use. This functionality should be a separate tool because its usefulness extends beyond that of cat(1p). .SH AUTHOR Written by DTB . .SH COPYRIGHT Copyright © 2023 DTB. License AGPLv3+: GNU AGPL version 3 or later . .SH SEE ALSO cat(1p), cat-v(1) .I UNIX Style, or cat -v Considered Harmful by Rob Pike