cut – テキストの特定部分を抽出するコマンド

カラム/フィールド操作 置換・変換
スポンサーリンク

cut コマンドは、テキストデータから 特定の列(フィールド)や文字範囲 を切り出すためのコマンドです。
実務では、CSVファイルから必要なカラムだけを抽出したり、ログの一部情報を取り出す際に利用されます。

構文(Syntax)

cut [オプション] [FILE...]

主なオプション一覧

オプション説明使用例
-f LISTフィールド番号を指定して抽出(区切り文字は -d で指定、デフォルトはタブ)cut -f1,3 data.txt
-d CHARフィールド区切り文字を指定cut -d, -f2 data.csv
-c LIST指定した文字位置を抽出cut -c1-5 file.txt
-b LIST指定したバイト範囲を抽出(マルチバイト文字に注意)cut -b1-10 file.txt
--complement指定した列や文字以外を抽出cut -d, --complement -f1 data.csv
-s区切り文字を含まない行を出力しないcut -d, -s -f2 data.csv

実行例

タブ区切りファイルの1列目を抽出

cut -f1 data.txt

出力例:

Alice
Bob
Charlie

CSVファイルの2列目を抽出

cut -d, -f2 data.csv

出力例:

25
30
28

1〜5文字目を抽出

cut -c1-5 file.txt

出力例:

Hello
World

複数列を抽出(1列目と3列目)

cut -d, -f1,3 data.csv

出力例:

Alice,90
Bob,75
Charlie,85

指定列以外を抽出(2列目以外)

cut -d, --complement -f2 data.csv

区切り文字を含まない行をスキップ

cut -d, -s -f2 data.csv

エラー例(存在しないファイルを指定)

cut -f1 missing.txt

出力例:

cut: missing.txt: No such file or directory

関連コマンド

  • awk : テキスト処理全般に対応(複雑な処理が可能)
  • sed : 置換や削除など柔軟なテキスト編集が可能
  • grep : パターン検索
  • tr : 文字の変換や削除

備考

  • フィールド抽出の際、区切り文字を必ず指定すること(デフォルトはタブ)。
  • マルチバイト文字(日本語など)を扱う場合は -c よりも -f を使う方が安全。
  • --complement を使うと、不要な列を削除する用途にも利用できる。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント