No.037テキスト処理

cut

カット・フィールド抽出

知識レベル 基礎安全に試せる一般ユーザーで使える

決まった区切りや位置に基づいて必要部分だけを抽出します。CSVに似た単純構造や、コロン区切りのファイルを扱う時に便利です。

答えよく使う形

  1. コロン区切りの先頭列だけを抜き出します
  2. 区切り文字を指定します
  3. フィールド番号を指定します
visitor@goodly: ~

$ cut -d ':' -f 1 /etc/passwd | head -n 3

root
daemon
bin

$ cut -d ':' -f 1 /etc/passwd

$ cut -c 1-8 file.txt

覚える順番の中でLPIC-1・20 駅め / 106

どんなコマンド?

こんなときに

区切り記号が明確なテキストから特定列だけを取り出したい時、列数の多い一覧から必要項目だけを見たい時に使います。

cutは、各行の一定位置や区切り記号に基づいて、一部だけを抜き出すコマンドです。/etc/passwdのユーザー名だけを取り出す、ログの先頭列だけを見る、といった作業でよく使います。

強みは速さと単純さです。書式が安定したテキストなら非常に扱いやすい反面、引用符を含む複雑なCSVや可変長のあいまいな構造には向きません。そうした場面ではawkや専用の解析道具を使うほうが安全です。

実務では、確認用の短いパイプライン、集計前の前処理、IDやユーザー名など単一列の抽出で特に力を発揮します。区切り文字と対象番号を正確に把握することが重要です。

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ cut

使用例と実行結果

行を押すとコピーできます。

root
daemon
bin
コロン区切りの先頭列だけを抜き出します。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 2

つまずいたとき

CSVの抽出結果が崩れる

原因引用符や区切りの入れ子をcutでは正しく扱えません。

こうするawkやCSV専用ツールを使います。

期待した列が取れない

原因区切り文字やフィールド番号を誤っています。

こうするまずheadやcat -Aで元データの構造を確認します。

終わったときの数(戻り値)

$ echo $?

  • 0正常終了。抽出に成功しました。
  • >0オプション不正や読取失敗などで失敗しました。

気をつけることと入れ方

気をつけること

危険度は低いですが、複雑なCSVや引用符付きデータに対して単純な区切り抽出を行うと誤読します。構造が単純かどうかを見極めて使ってください。

環境による違い

POSIXで基本機能は標準化されています。GNU実装では--complementなどの拡張があります。多バイト文字の扱いは環境差に注意が必要です。

確かめた環境2026-04-09 に確認

よくある質問

cutとawkはどう使い分けますか。

単純な列抽出ならcut、条件や計算が必要ならawkが向いています。

タブ区切りも扱えますか。

はい。-f系は既定でタブ区切りを扱いやすいです。

資格試験では

  • LinuC レベル1大事1.03.2 フィルタを使ったテキストストリームの処理
  • LPIC-1大事103.2 フィルタを使ったテキストストリームの処理
  • 共通基礎大事Linuxコマンド基礎

cut を最後まで読みました。

Linux コマンド辞典に戻る17 / 144

Goodly のメニュー