Linux cut コマンドの使用ガイド

Cut Command

Linux の cut コマンドは、ファイルの各行やパイプされた入力から特定のセクションを抽出するために使用される強力なテキスト処理ユーティリティです。元のファイルを変更することはなく、単に内容を読み取り、標準出力に希望する部分を表示します。この記事では、Linux における cut コマンドの目的を探り、実際の例を通じてその使用方法を示します。

cut コマンドの理解

cut コマンドは、構造化されたテキストで作業するすべての人にとって貴重なツールであり、Unix 系システムでのデータ操作や抽出を効率的に行うことができます。バイト位置、文字位置、区切り文字、またはフィールドに基づいて、行の一部を抽出します。これにより、シェルスクリプトやコマンドライン操作でデータをフィルタリングおよび整理する際に特に便利です。CSV ファイルから列を取得したり、文字をトリミングしたり、ログファイルを分析したりする作業にも役立ちます。一般的にはファイルとともに使用されますが、cut コマンドはパイプラインで使用されるときに他のコマンドの出力も処理できます。

cut コマンドの基本構文

cut コマンドは、オプションとファイル名を使用する非常にシンプルな構文を持っています。以下のように動作します:

cut [OPTIONS] [FILE]

ここで、OPTIONS は cut コマンドの動作を制御するためのもので、フィールド区切り文字(カンマなど)を選択したり、特定のフィールドを選択したり、フィールドの範囲を設定したり、区切り文字のない行を無視することができます。FILE はデータを抽出したいターゲットファイルです。ファイルを指定しない場合、cut コマンドは標準入力から読み取ります。さらに、複数のファイルを指定することも可能で、その場合、cut コマンドはそれらの内容を結合して1つとして処理します。

よく使われるオプション

cut コマンドを使用すると、ファイルや入力から特定のテキストの部分を抽出できます。抽出する内容を指定するために、バイト、文字、またはフィールドなどの異なるオプションを使用し、特定の区切り文字(デリミタ)を設定できます。以下は一般的なオプションです:

  • -f または –fields=LIST: 選択した区切り文字に基づいて特定のフィールドを選択します。
  • -b または –bytes=LIST: 各行から特定のバイトを抽出します。
  • -c または –characters=LIST: 各行から特定の文字を抽出します。
  • -d または –delimiter: デフォルトのタブの代わりにカスタム区切り文字を設定します。
  • –complement: 選択したフィールド、バイト、または文字以外のすべてを表示します。
  • -s または –only-delimited: 区切り文字がない行をスキップします。デフォルトでは、そのような行も含まれます。
  • –output-delimiter: 出力のために異なる区切り文字を選択できるようにします。デフォルトでは、cut は入力と同じ区切り文字を使用します。

-f-b、および -c オプションは、抽出する内容を定義するために LIST を使用します。次のように指定できます:

  • 2 のような単一の数字
  • カンマで区切られた複数の数字、例:1,3,5
  • 2-4 のような範囲(2 から 4 まで抽出)
  • N- は位置 N から末尾までを意味する
  • -M は開始から位置 M までを意味する

Linux における cut コマンドの動作

cut コマンドが Linux でどのように動作するかを理解するために、いくつかの実践的な例を見てみましょう。この目的のために、最初に echo コマンドを使用して「mte.csv」というファイルを作成します:

echo -e "empID,empName,empDesig\n101,Anees,Author\n102,Asghar,Manager\n103,Damian,CEO" > mte.csv

次に、cat コマンドを使ってファイルの内容を確認します:

cat mte.csv

Show File Data