cut -bオプションの使い方を完全ガイド!初心者でもわかるLinuxのバイト単位抽出
生徒
「Linuxで文字の一部だけを取り出したいときって、どうすればいいんですか?」
先生
「そんなときはcutコマンドを使います。特に-bオプションはバイト単位で切り出せて便利ですよ。」
生徒
「バイトって聞くと難しそうです…。パソコン初心者でも大丈夫ですか?」
先生
「心配いりません。身近な例えを使いながら、ゆっくり説明します。」
1. cutコマンドとは?
cutコマンドは、Linuxでテキストデータの一部を切り取って表示するための基本コマンドです。ログファイルやCSVファイル、設定ファイルなどから、必要な部分だけを取り出したいときによく使われます。
Windowsでいうと「表の列をコピーする」操作に近いイメージです。Linuxではマウス操作ではなく、文字で命令を書くことで同じことを実現します。
2. -bオプションの意味をやさしく解説
-bオプションは「バイト単位で切り出す」という指定です。バイトとは、文字を保存するときの最小単位のようなものです。
例えるなら、本を「文字」ではなく「ページの中の位置」で切り取る感覚です。左から何番目か、という位置指定で取り出します。
英数字は1文字=1バイトですが、日本語は複数バイトになる点が重要です。
3. 基本構文と最初の実行例
cut -bの基本的な書き方は次のとおりです。
cut -b 1-5 sample.txt
ABCDE
この例では、sample.txtの各行について、左から1バイト目から5バイト目までを表示しています。数字の「1-5」は範囲指定を意味します。
4. バイト範囲指定のいろいろな書き方
-bでは、さまざまな指定方法があります。
cut -b 3 sample.txt
C
これは3バイト目だけを取り出す指定です。
cut -b 4- sample.txt
DEFG
このように最後を省略すると、「指定位置から最後まで」という意味になります。
5. 日本語テキストでの注意点
日本語は1文字が2~3バイト以上になることがあります。そのため、-bで切り出すと、文字が途中で壊れて表示される場合があります。
cut -b 1-4 japanese.txt
あ�
これはエラーではなく、バイト単位で無理に切っているために起こります。日本語を扱う場合は、後述する-cとの違いを理解することが大切です。
6. -cオプションとの違い
-cは「文字単位」で切り出します。人が読む文字を基準にするため、日本語にはこちらが向いています。
cut -c 1-3 japanese.txt
あいう
一方で、-bは通信データや固定長データなど、バイト数が厳密に決まっている場面で力を発揮します。
7. パイプと組み合わせた実践例
cut -bは他のLinuxコマンドと組み合わせるとさらに便利です。ここではechoと組み合わせた例を見てみます。
echo "1234567890" | cut -b 1-3
123
パイプとは、前のコマンドの結果を次のコマンドに渡す仕組みです。黒い画面の中で流れ作業をしているイメージを持つと理解しやすくなります。
8. よくある利用シーンと活用ポイント
cut -bは、ログ解析、固定長ファイルの処理、通信データの確認などでよく使われます。「決まった位置に意味があるデータ」を扱うときに特に有効です。
初心者のうちは、まず英数字だけのテキストで練習し、バイトと文字の違いを体感するのがおすすめです。