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

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