6. cut

これから、テキスト処理に役立ついくつかのコマンドを学習します。始める前に、作業用のファイルを作成しましょう。次のコマンドをコピー&ペーストしてください。ペースト後、「lazy」と「dog」の間にリテラルの TAB 文字を追加する必要があります(多くの場合、Ctrl-v を押してから TAB を押すことで実行できます)。

echo 'The quick brown; fox jumps over the lazy  dog' > sample.txt

最初に調べるコマンドは cut で、ファイルからテキストの一部を抽出します。

文字単位での切り取り

-c フラグを使用して、文字位置に基づいてコンテンツを抽出できます。

cut -c 5 sample.txt

このコマンドは、ファイル内の各行の 5 番目の文字を出力します。この場合、出力は "q" です。スペースも文字としてカウントされることに注意してください。

cut f を使用したフィールド単位での切り取り

より強力な機能は、フィールドによる切り取りです。-f フラグを使用する cut f 構文により、フィールド位置に基づいてテキストを抽出できます。デフォルトでは、cut は TAB 文字を区切り文字として使用します。つまり、TAB で区切られたすべてのものが個別のフィールドと見なされます。

フィールドに基づいて f を切り取る方法を見てみましょう。

cut -f 2 sample.txt

「lazy」と「dog」の間に TAB を挿入したため、このコマンドは「dog」を 2 番目のフィールドとして扱います。出力は "dog" になるはずです。

カスタム区切り文字の使用

フィールドフラグと区切り文字フラグ (-d) を組み合わせて、カスタム区切り文字を指定することもできます。これは、カンマやセミコロンなどの文字でデータが区切られているファイルで作業する場合に役立ちます。

cut -f 1 -d ";" sample.txt

このコマンドは、区切り文字を TAB からセミコロン(;)に変更します。最初のフィールド (-f 1) を切り取っているため、結果は "The quick brown" になります。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!cut およびその他の関連コマンドを使用したテキスト処理の理解を深めるための実践的なラボを次に示します。

  1. Linux cut コマンド:テキストの切り取り - このラボでは、cut コマンドへの直接的で実践的な入門を提供し、レッスンで説明したように、テキストファイルから特定の列やフィールドを抽出する練習ができます。
  2. 簡単なテキスト処理 - trcoljoinpaste などの強力なコマンドを使用して、テキストデータを効率的に処理および分析し、テキスト操作スキルを拡張します。
  3. シーケンス制御とパイプライン - コマンド実行シーケンスの制御、パイプラインの利用、cutgrepwcsortuniq などの強力なテキスト処理ツールの活用を学習し、コマンドラインの効率を高めます。

これらのラボは、実際のシナリオで概念を適用し、Linux でのテキスト処理に対する自信を構築するのに役立ちます。

クイズ

ファイル内のすべての行の最初の文字を取得するには、どのコマンドを使用しますか?