col - 改行コードをフィルタ - Linuxコマンド
当ページのリンクには広告が含まれています。
スポンサーリンク
colコマンドは、改行コードなどをフィルタするコマンドです。
colコマンド
書式
col [オプション]
入力ストリーム(ファイルやパイプラインからの入力)に含まれる改行コードなどのエスケープシーケンスをフィルタし、変換・削除するコマンドです。
オプション
-b | バックスペースの出力を行いません。 |
-l 行数 | 指定した行数分をメモり上にバッファします。 |
-p | 不明なコントロール文字を変更せずに、そのまま出力します。 |
-x | タブの代わりに複数の半角スペースを出力します。 |
使用例
manページをテキストファイルに出力する場合によく利用されます。まずは、manページの出力をそのままテキストファイル(ls.txt)に出力してみましょう。
$ man ls > ls.txt
出力されたファイルを「viコマンド」で閲覧してみると……エスケープシーケンスだらけです。
LS(1) User Commands LS(1) N^HNA^HAM^HME^HE ls - list directory contents S^HSY^HYN^HNO^HOP^HPS^HSI^HIS^HS l^Hls^Hs [_^HO_^HP_^HT_^HI_^HO_^HN]... [_^HF_^HI_^HL_^HE]... D^HDE^HES^HSC^HCR^HRI^HIP^HPT^HTI^HIO^HON^HN List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -^H-c^Hcf^Hft^Htu^Huv^HvS^HSU^HUX^HX nor -^H--^H-s^Hso^Hor^Hrt^Ht. … 略 …
ということで、colコマンドでエスケープシーケンスを取り除きましょう。利用方法は、manページの出力をパイプ(|)を通して、colコマンド実行すれば、OKです。不要なエスケープシーケンスを取り除くことができます。
$ man ls | col -bx > ls.txt
viコマンドで確認すると、エスケープシーケンスが取り除かれていることがわかります。
LS(1) User Commands LS(1) NAME ls - list directory contents … 略 …
関連コマンド
テキスト の人気記事
- Linuxコマンド【 iconv 】ファイルの文字コードを変換する
- Linuxコマンド【 tail 】ファイルの末尾数行を表示する
- Linuxコマンド【 strings 】バイナリファイルの中身を確認する
- Linuxコマンド【 tr 】文字列を変換・削除する
- manコマンドの表示を日本語にする方法
- Linuxコマンド【 column 】入力を表形式に整形する
- Linuxコマンド【 cut 】ファイルの各行から一部分を切り出す
- Linuxコマンド【 head 】ファイルの先頭数行を表示する
- Linuxコマンド【 grep 】パターンにマッチする行を表示する
- Linuxコマンド【 nkf 】文字コードを変換する