【Linuxコマンド】cutでファイルから指定部分を取り出す方法

Linuxではテキストファイルに記述されている内容を指定した位置から取得できる「cut」コマンドがあります。

ここでは「cut」コマンドについて以下の内容で解説していきます。

cut_image

この記事では「cut」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!

目次

cutコマンドとは

テキストファイルに記述されている内容を指定した範囲で切り出して取得するには「cut」コマンドを使用します。

「cut」コマンドを使用すれば、データが記述されたファイルから指定した範囲の値を取り出すときなどに非常に便利です。

cutコマンドの書式

$ cut オプション ファイル

「cut」コマンドはオプションを使用することにより、必要なバイト数で指定したり、区切り文字でファイルの内容を取得することができます。

cutコマンドのオプション

「cut」コマンドでは主に以下のオプションを使用します。

オプション説明
-b切り出す位置をバイト数を指定する
-c切り出す文字数を指定する
-d区切り文字を指定する
-f切り出すフィールドを指定する

cutコマンドの使い方

ここではcutコマンドの使い方をパターン別に紹介します。

-bでバイト数を指定する

バイト数を指定して必要な位置の文字列を取得するには「-b」オプションを使用します。

以下のファイルtest.txtを使用して、必要な位置の文字列を取得します。

【test.txt】
12345
67890
ABCDE
FGHIJ
KLMNO

2バイト目の文字を取り出してみます。

$ cut -b 2 test.txt

実行結果:
cut_image01

指定した範囲の文字列を取り出したい場合は「-(ハイフン)」を使用して範囲を指定します。

以下では2バイト目から4バイト目までの文字列を取り出しています。

$ cut -b 2-4 test.txt

実行結果:
cut_image02

2文字目から4文字目の文字を取り出すことができました!

また、範囲を別々に取得したい場合は、「,(カンマ)」を使用することで取り出すことができます。

以下では、1バイト目から2バイト目と4バイト目から5バイト目の文字列を取り出しています。

$ cut -b 1-2,4-5 test.txt

実行結果:
cut_image03

-dと-fで区切り文字を指定する

CSVファイルなど区切られたデータを取得したい場合は「-f」「-d」オプションを使用します。

  • 「-f」は区切られたフィールドから取得するフィールド数を指定します。
  • 「-d」は区切り文字を「””(ダブルクォーテーション)」で囲って指定します。

以下のCSVファイルfruits.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

実行結果:
cut_image04

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」コマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次