今日の人気記事

  1. apt-get - パッケージの操作・管理 - Linuxコマンド
  2. sleep - 指定した時間だけ処理を遅延 - Linuxコマンド
  3. export - 環境変数を定義・リスト表示する - Linuxコマンド
  4. Debianのバージョン確認方法
  5. Tera Termマクロ - パスワード認証のSSH自動ログイン

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

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