今回は、タイトルにもありますが、cutコマンドで一定の区切り文字で区切られているファイルの欲しい部分だけを切り出す方法を調べたのでご紹介します。
どんなシチュエーションで使用できるか
上の文章では少しわかりにくい方もいると思うので/etc/passwdファイルを例にご説明します。
/etc/passwdには、下のようにユーザ名や、ルートディレクトリなど様々な情報が”:“(コロン)によって区切られています。
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
… 以下省略
bin:x:1:1:bin:/bin:/sbin/nologin
… 以下省略
ただ、ユーザ名(rootなど)のみを取り出したい場面はありますよね。似たようなファイルやログファイルも…
そんな時にこのcutコマンドとオプションが役立ちます。
dオプションとfオプションで実現させる
というわけで早速検証です。
今回は、すでに例でも紹介した、/etc/passwdから先頭のユーザ名のみを取り出します。
コマンドはこんな感じで構成してください↓
1 2 |
# 区切り文字には":"や、"."など、フィールド番号には、何番目の区切り文字か入れる cut -d ${区切り文字} -f ${フィールド番号} ファイル名 |
実際の検証結果はこんな感じです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
[root@test 02:25:22 ~]# cut -d ":" -f 1 /etc/passwd root bin daemon adm lp sync shutdown halt mail operator games ftp nobody dbus systemd-coredump systemd-resolve tss polkitd sssd sshd rngd |
こんな感じで:で区切られた1つ目のフィールド(ユーザ名・ログイン名)を取得することができました!!!
このコマンドは覚えておくとかなり便利ですよね。皆さんも色々なファイルを区切ってみてください。
業務や学習の効率化に役立てていただけると幸いです!
では〜〜〜
コメント