[TUHS] basic tools / Universal Unix
steffen at sdaoden.eu
Fri Oct 20 00:32:06 AEST 2017
Doug McIlroy <doug at cs.dartmouth.edu> wrote:
|> sed *n l pathname
|> The latter also has the advantage that its output is
|> unambiguous, whereas the output of historical cat *etv is not.
|> But mind you, in preparation of this email i found a bug in
|> Busybox sed(1) which simply echoes nothing for the above.
|I assume that * is a typo for - . If so, sed did just what
|-n tells it to--no printing except as called for by p or P.
It seems to be a problem of (the PDF to text conversion and) the
musl C library environment used on this box:
?0[steffen at essex tmp]$ echo *e | s-hex
00000000 e2 88 92 65 0a |...e.|
?0[steffen at essex tmp]$ echo *e | iconv -f utf8 -t ascii
?0[steffen at essex tmp]$ command -v iconv
?0[steffen at essex tmp]$ apk info --who-owns /usr/bin/iconv
/usr/bin/iconv is owned by musl-utils-1.1.16-r22
And of course because of mailx's "set reply-in-same-charset"
ending up using US-ASCII.
|And speaking of sed anticipating other tools, the inclusion
|of "head" in v7 as a complement to "tail" was a close call
|because head is subsumed by sed q.
The difference being that these can be implemented as shell script
wrappers around (modern) sed easily, whereas the -vet thing would
require painful awk scripting, by reading bytewise and string
comparing each of those bytes against a sprintf("%c",0.255) and
a tree of if conditions, without having tried it.
And then head and tail are self-describing, whereas -vet as
a modifier for file content c(onc)atenation i never had problems
with, but looking for that feature in a stream editor is more
obvious for the unaware.
|Der Kragenbaer, The moon bear,
|der holt sich munter he cheerfully and one by one
|einen nach dem anderen runter wa.ks himself off
|(By Robert Gernhardt)
More information about the TUHS