UNIXの部屋 コマンド検索: cut

TOP UNIXの部屋 コマンド一覧 コマンドマニュアル 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識


検索 :
複数のキーワードを空白で区切ると AND 検索を行います。例:「ファイル 削除」


cut テキストを切り出す(パイプ)

各行から「n 文字目から m 文字目」「n 番目から m 番目からのカラム」というようなルールで文字列を切り出す。

バイト数で指定
-b[num1]-[num2] num1 バイト目からnum2 バイト目までを切り出す
% cut -b30 < file.txt
⇒ file.txt の30バイト目を切り出す
% cut -b20-30 < file.txt
⇒ file.txt の20バイト目から30バイト目までを切り出す
% cut -b-30 < file.txt
⇒ file.txt の行頭から30バイト目までを切り出す
% cut -b20- < file.txt
⇒ file.txt の20バイト目以降を切り出す
文字数で指定
-c[num1]-[num2] num1 文字目からnum2 文字目までを切り出す
バイト単位で切り出す -b オプションと同様の動作をするが、正しくロケールを認識する Solaris などでは日本語としての文字数を指定できる。
% cat file-euc.txt
あいうえお
% env LC_ALL=ja_JP.eucJP cut -c3-4 < file-euc.txt
うえ
⇒ 日本語として解釈し、3〜4文字目を切り出す
% cut -b3-4 < file-euc.txt

⇒ バイト単位だと 3〜4バイト目として扱われる
フィールド数で指定
-f フィールド番号 指定したフィールドを出力する。デフォルトのフィールド区切りは TAB である。
% cat file.txt
abc(TAB)def(TAB)ghi(TAB)(TAB)jkl
% cut -f 1 < file.txt
abc
⇒ 1番目のフィールドを表示
% cut -f 2,3 < file.txt
abc def
⇒ 2番目と 3番目のフィールドを表示
% cut -f 2- < file.txt
def ghi jkl
⇒ 2番目以降のフィールドを表示
-d str フィールドを区切る文字として文字列 str を使用する。
-d オプションを使う場合は -f オプションを同時に指定しないと意味がない。
% cat file.txt
abc,def,ghi,,jkl
% cut -d , -f 2,3 < file.txt
def,ghi
⇒ カンマ区切りとみなして 2番目と 3番目のフィールドを表示
>> コマンド head *   tail *   awk *   sed *