Linux
Tips |
|
manページをテキストファイルにすると文字化けしてしまう
北浦訓行
2001/7/5
|
manページをリダイレクトでテキストファイルに変換すると、変な文字が挿入されてしまうことがある。
|
「man ls > ls.txt」というコマンドを実行してls.txtを表示すると、文字の間に「^H」が入ってしまう |
これは、manページを表示する際に、特定の文字を強調する目的で画面の制御コードが挿入されるためだ。つまり、強調表示の制御コードを取り除けば、文字化けのないテキストファイルにすることができる。
|
manページを表示すると、「名前」や「書式」などの見出しが強調表示される |
強調表示の制御コードを取り除くには、colコマンドを使用する。colコマンドは、逆改行(バックスペース)コードを取り除くためのフィルタプログラムで、標準入力から読み込んだデータを標準出力に書き出す。従って、パイプとリダイレクションを組み合わせて、強調表示の制御コードを取り除けばいいことになる。
強調表示の制御コードには、バックスペース([Ctrl]+[H])が使われているため、
とすると文字の間に「^H」が入ったのだ。colコマンドには、バックスペースを取り除くための-bというオプションがあるので、以下のようにすれば文字化けのないテキストファイルになる。
$ man ls | col -b > ls.txt |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間