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コマンドはCSVといったテーブルデータから特定の情報を取り出すといった用途でも利用できると説明している。