fossBytesに7月30日(米国時間)に掲載された記事「'Cut' Command In Linux: Useful Applications Explained」が、cutコマンドの使い方を紹介した。cutコマンドは指定したデリミタで文字列を区切って、指定した列などのデータを取り出すといった処理を行うコマンド。テキストデータから特定のデータを取り出す場合などに利用できる。

紹介されている主な使い方は次のとおり。

cutコマンドの基本的な使い方

cut -オプション [パス]

/etc/passwdに対して:区切りで1番目と5番目を出力

cut -f 1,5 -d : /etc/passwd

/etc/passwdに対して:区切りで1番目、2番目、3番目、7番目を出力

cut -f 1-3,7 -d : /etc/passwd

/etc/passwdファイルは:などのデリミタで区切られたテキストデータになっていることが多い。次のように実行することでユーザ名、ユーザID、グループID、ホームディレクトリといったデータのみを抽出して表示させることができる。

/etc/passwdからユーザ名、ユーザID、グループID、ホームディレクトリを取り出して出力

$ cut -f 1,3,4,6 -d : /etc/passwd | tr ':' '\t'
# $FreeBSD  47  36Z bcr $
#
root    0   0   /root
toor    0   0   /root
daemon  1   1   /root
operator    2   5   /
bin 3   7   /
tty 4   65533   /
kmem    5   65533   /
games   7   13  /
news    8   8   /
man 9   9   /usr/share/man
sshd    22  22  /var/empty
smmsp   25  25  /var/spool/clientmqueue
mailnull    26  26  /var/spool/mqueue
bind    53  53  /
unbound 59  59  /var/unbound
proxy   62  62  /nonexistent
_pflogd 64  64  /var/empty
_dhcp   65  65  /var/empty
uucp    66  66  /var/spool/uucppublic
pop 68  6   /nonexistent
auditdistd  78  77  /var/empty
www 80  80  /nonexistent
_ypldap 160 160 /var/empty
hast    845 845 /var/empty
nobody  65534   65534   /nonexistent
_tss    601 601 /var/empty
cups    193 193 /nonexistent
git_daemon  964 964 /nonexistent
messagebus  556 556 /nonexistent
avahi   558 558 /nonexistent
tests   977 65534   /nonexistent
polkitd 565 565 /var/empty
$ 
  • cutコマンドの実行例

    cutコマンドの実行例

記事では、cutコマンドはCSVといったテーブルデータから特定の情報を取り出すといった用途でも利用できると説明している。