No.037テキスト処理
cut
カット・フィールド抽出
決まった区切りや位置に基づいて必要部分だけを抽出します。CSVに似た単純構造や、コロン区切りのファイルを扱う時に便利です。
答えよく使う形
$ cut -d ':' -f 1 /etc/passwd | head -n 3
root daemon bin
$ cut -d ':' -f 1 /etc/passwd
$ cut -c 1-8 file.txt
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
覚える順番の中で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