Linuxではテキストファイルに記述されている内容を指定した位置から取得できる「cut」コマンドがあります。
ここでは「cut」コマンドについて以下の内容で解説していきます。
この記事では「cut」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!
cutコマンドとは
テキストファイルに記述されている内容を指定した範囲で切り出して取得するには「cut」コマンドを使用します。
「cut」コマンドを使用すれば、データが記述されたファイルから指定した範囲の値を取り出すときなどに非常に便利です。
cutコマンドの書式
$ cut オプション ファイル
「cut」コマンドはオプションを使用することにより、必要なバイト数で指定したり、区切り文字でファイルの内容を取得することができます。
cutコマンドのオプション
「cut」コマンドでは主に以下のオプションを使用します。
オプション | 説明 |
---|---|
-b | 切り出す位置をバイト数を指定する |
-c | 切り出す文字数を指定する |
-d | 区切り文字を指定する |
-f | 切り出すフィールドを指定する |
cutコマンドの使い方
ここではcutコマンドの使い方をパターン別に紹介します。
-bでバイト数を指定する
バイト数を指定して必要な位置の文字列を取得するには「-b」オプションを使用します。
以下のファイルtest.txtを使用して、必要な位置の文字列を取得します。
12345
67890
ABCDE
FGHIJ
KLMNO
2バイト目の文字を取り出してみます。
$ cut -b 2 test.txt
実行結果:
指定した範囲の文字列を取り出したい場合は「-(ハイフン)」を使用して範囲を指定します。
以下では2バイト目から4バイト目までの文字列を取り出しています。
$ cut -b 2-4 test.txt
実行結果:
2文字目から4文字目の文字を取り出すことができました!
また、範囲を別々に取得したい場合は、「,(カンマ)」を使用することで取り出すことができます。
以下では、1バイト目から2バイト目と4バイト目から5バイト目の文字列を取り出しています。
$ cut -b 1-2,4-5 test.txt
実行結果:
-dと-fで区切り文字を指定する
CSVファイルなど区切られたデータを取得したい場合は「-f」「-d」オプションを使用します。
- 「-f」は区切られたフィールドから取得するフィールド数を指定します。
- 「-d」は区切り文字を「””(ダブルクォーテーション)」で囲って指定します。
以下のCSVファイルfruits.csvを使用して、必要な位置の文字列を取得します。
1,apple,100
2,orange,80
3,melon,500
4,banana,120
5,strawberry,200
CSVファイルから2項目目のデータを取得します。
$ cut -f 2 -d "," fruits.csv
実行結果:
2項目目の文字列が取得できていることがわかりますね!
結果をファイルに出力する
cutコマンドの結果をファイルに出力したい場合はリダイレクト「>」を使用すると便利です。
以下ではコマンドの結果をdata.txtでリダイレクトしています。
$ cut -f 2 -d "," fruits.csv > date.txt
作成されたdata.txtを確認すると、cutコマンドの結果が出力されています。
Linuxについてもっと知りたい方へ
そもそもLinuxについて、
「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」
といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!
まとめ
ここでは、Linuxでファイルから指定した範囲の情報を切り出す「cut」コマンドについて、
- cutコマンドとは
- cutコマンドの使い方
- cutコマンドのオプションと使い方
などについて解説しました。
「cut」コマンドはファイルから必要な情報を取得するときに非常に便利なコマンドですのでこの機会に使い方をよく理解しておきましょう。
もし「cut」コマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。