Linuxの `cut`コマンドは、文字列データとファイルの内容を操作するのに便利なコマンドの1つです。これは主に、表形式のデータまたはCSVファイルからコンテンツを切り取るために使用されます。ファイルの各行をスライスすることができ、 `cut`コマンドを使用して必要なデータを簡単に取得できます。また、区切り文字、文字、またはバイト位置でテキストを切り取るためにも使用できます。このコマンドには、さまざまな方法でテキストまたはファイルからデータを切り取るための多くのオプションがあります。このチュートリアルでは、さまざまな例を使用して、さまざまなオプションでcutコマンドを使用する方法を示します。
構文:
`cut`コマンドに使用するにはOPTION値が必須であり、FILE名はオプションです。コマンドでファイル名を省略すると、標準入力からデータが取得されます。ただし、cutコマンドでOPTION値を省略すると、エラーが生成されます。
オプション:
オプションタグ | 説明 |
-bまたは–byte = LIST | 特定のバイトを選択します。 |
-cまたは–character = LIST | 特定の文字を選択します。 |
-dまたは–delimiter = DELIM | 区切り文字としてDELIM値を選択します。デフォルトでは、区切り文字はTABです。 |
-fまたは–fields = LIST | 特定のフィールドを選択 |
–complement | 補完に使用出力 |
-sまたは–only-delimited | を省略します区切り文字を含まない行。 |
–output-delimiter = STRING | 出力区切り文字としてSTRING値を使用します。 |
-zまたは–zero-terminated | 行区切り文字としてNULLを使用します。 |
例-1 :バイト単位でカット
次のカットコマンドは、定義されたバイトに基づいて標準入力データをスライスします。ここでは、3、4、5、6をバイトとして定義しています。出力は、標準入力に基づいて生成されます。 Ctrlキーを押しながらDキーを押して、コマンドを終了します。
出力:
ここでは、入力は「プログラミングが好き」であり、出力は言及されたバイトに基づいて「好き」です。
`cut`コマンドを適用するために、次のコンテンツを含む「productlist.txt」という名前のテキストファイルを作成します。TABを使用してファイルコンテンツのフィールドを区切ります。
01ペン$ 2
02ペンシル$ 1.5
03イレイザー$ 1
次のコマンドを実行して、製品ID。ここでは、バイトは範囲として指定され、データをカットするために「1-2」です。
出力:
例2:文字で切り取る
-cオプションを使用して同じ出力を生成できます。これらは前の例に示されているため、-bとの出力に特に違いはありません。 -カットコマンドのcオプション。次のコマンドを実行して、-cオプションの使用法を示します。ここで、4-は、位置4から各行の残りのすべての文字に切り替わるオプション値として使用されます。 -4のように値の前に負の記号を使用することもできます。そうすると、最初から4つの位置にカットされます。
出力:
出力では最初の3文字が省略されます。
例3:区切り文字とフィールドで切り取り
区切り文字の使用法を示すために、次のコンテンツを含む「students.csv」という名前のCSVファイルを作成します。
1002、Micheal、EEE、3.99
1003、Asraful Haque、BBA、3.85
1004、Momotaj Khan、English、3.20
次のコマンドを実行して、students.csvファイルから学生の名前とCGPAを出力します。ファイルの内容によると、2番目と4番目のフィールドには学生名とCGPAが含まれています。したがって、このコマンドでは2つのオプションを使用して出力を表示します。 1つは区切り文字-dで、ここでは「、」であり、もう1つはフィールドオプション-fです。
出力:
必要に応じて表形式データまたはCSVファイルの2つ以上の連続した列を印刷してから、フィールドを範囲として定義できます。フィールド値の範囲は、次のコマンドで使用されます。ここでは、2から4までのすべてのフィールドが出力として出力されます。
出力:
例4:補数でカット
–補数オプションを使用して、コマンドの反対の出力を生成します。次のコマンドでは、最初の例で作成されたproductlist.txtファイルが使用されます。ここで、-fオプションは最初のフィールドを切り取り、-complementオプションは、最初のフィールドを省略してファイルの他のすべてのフィールドを出力します。
$ cut –complement -f 1 productlist.txt
出力:
例-5:出力区切り文字による切り取り
このオプションは、特定の区切り文字を使用して出力を生成するために使用されます。以前に作成したstudents.csvファイルは、次のコマンドで使用されます。 「、」は、CSVファイルのデフォルトの区切り文字です。次のコマンドは、出力区切り文字として「:」を使用します。
$ cut -d “、” -f 1- 3 student.csv –output-delimiter = “:”
出力:
コマンドの実行後、入力区切り文字 ‘、’は出力区切り文字に置き換えられます’:’と最初の3つのフィールドは、 ‘:’を区切って出力されます。
例-6:カットを使用してpipeコマンド
Cutコマンドは、任意のファイルまたはユーザー入力から入力を受け取ることができます。ただし、パイプを使用して、入力テキストをカットコマンドに送信できます。次のコマンドは、パイプでのcutコマンドの使用法を示しています。ここで、echoコマンドはcutコマンドに入力テキストを入力し、cutコマンドは区切り文字に基づいてフィールド2と3をカットします。
出力:
例-7:カットコマンド出力をファイルに保存する
必要に応じて、カットコマンド出力を任意のテキストファイルに保存することもできます。次のコマンドは、students.csvファイルの内容を入力として受け取り、区切り文字に基づいて2番目のフィールドを切り取り、「student_names.txt」という名前のテキストファイルに出力を出力します。
出力:
結論:
このチュートリアルでは、上記を使用して、cutコマンドの最も一般的な使用法を説明しようとしています。例。上記の例を実行した後、cutコマンドの使用がリーダーから削除されることを願っています。