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

… 略 …

関連コマンド

cut, strings, split

テキスト の人気記事

  1. Linuxコマンド【 tail 】ファイルの末尾数行を表示する
  2. Linuxコマンド【 cut 】ファイルの各行から一部分を切り出す
  3. コマンドリファレンス
  4. Linuxコマンド【 iconv 】ファイルの文字コードを変換する
  5. Linuxコマンド【 tr 】文字列を変換・削除する
  6. manコマンドの表示を日本語にする方法
  7. Linuxコマンド【 nkf 】文字コードを変換する
  8. Linuxコマンド【 head 】ファイルの先頭数行を表示する
  9. patch - diff差分ファイルをオリジナルファイルに適用 - Linuxコマンド
  10. Linuxコマンド【 grep 】パターンにマッチする行を表示する

関連記事(一部広告含む)