導入
CSV やログのように「区切り文字で列が並んだ」データから、必要な列だけを抜き出すのが cut です。ここまでのレッスンでも使ってきましたが、あらためて仕組みを見ておきましょう。
説明
-d で区切り文字、-f で取り出す列(1始まり)を指定します。CSV なら区切りはカンマです。
cut -d , -f 1 data.csv
複数の列をまとめて取り出すこともできます。カンマ区切りや範囲(1-3)が使えます。
cut -d , -f 1,3 data.csv
区切り文字はカンマ以外でも指定できます。スペース区切りのログなら -d " " です。次は access.log から**パス(3列目)**だけを取り出します。
cut -d " " -f 3 logs/access.log
やってみよう
cut -d , -f 1 data.csv で名前の列だけ、cut -d , -f 1,3 data.csv で名前と都市が取り出せることを確認しましょう。区切りを -d " " に変えて、logs/access.log から列を抜き出す動きも試してください。
演習
logs/access.log から、アクセス先の**パス(3列目)**だけを取り出してください(区切りはスペースです)。
ヒント1を見る
スペース区切りは -d " "、3列目は -f 3 です。
ヒント2を見る
cut -d " " -f 3 logs/access.log