これから、テキスト処理に役立ついくつかのコマンドを学習します。始める前に、作業用のファイルを作成しましょう。次のコマンドをコピー&ペーストしてください。ペースト後、「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" になります。