manファイルから普通のテキストファイルに変換
manファイルを整形した普通のテキストファイルが欲しかったんだけど、
ただリダイレクトすると制御用文字が残ったままになってしまう(バックスペースで前と同じ文字を出力して強調表示をしている)。
$ man ls > ls.txt $ view ls.txt LS(1) NetBSD Reference Manual LS(1) N^HNA^HAM^HME^HE l^Hls^Hs - list directory contents S^HSY^HYN^HNO^HOP^HPS^HSI^HIS^HS l^Hls^Hs [-^H-A^HAC^HCF^HFL^HLR^HRS^HST^HTW^HWa^Hac^Hcd^Hdf^Hfg^Hgi^Hik^Hkl ^Hlm^Hmn^Hno^Hop^Hpq^Hqr^Hrs^Hst^Htu^Hux^Hx1^H1] [_^Hf_^Hi_^Hl_^He _^H._^H._^H.] ...
仕方ないから、以下の内容のファイルskipbsをでっちあげて、
#!/usr/bin/env ruby # -*- ruby -*- while ch = ARGF.getc if ch == 0x08 # backspace break unless ARGF.getc next end print ch.chr end
次のように変換した。
$ man ls | ./skipbs > ls.txt
ここまでやった後で、manページをテキストファイルにすると文字化けしてしまうを発見してしまった。なぬー、colコマンドでできるだとー。
$ man ls | col -b > ls.txt
また無駄なものを作ってしまった。しかしroff関係はコマンドがいっぱいあってよくわからん。