本文へスキップ
BecomeCoder

Linuxコマンドコース · 第5章 テキスト処理の実践 · レッスン27

CSVから必要な情報を取り出す

ブラウザで完結

導入

CSV は「絞り込む(grep)→ 列を取り出す(cut)」の合わせ技で自在に加工できます。「東京に住んでいる人の名前だけが欲しい」といった、日常の“ちょっとした集計”をコマンドで片付けましょう。

説明

grep で条件に合う行を絞り、cut で欲しい列だけを残します。次は「東京の行 → 名前(1列目)」です。

grep 東京 data.csv | cut -d , -f 1

順番を意識しましょう。先に行を絞ってから、列を切り出すのが読みやすい定石です。

重複を除いた一覧が欲しいときは sort -u(並べ替えつつ重複を1つに)が便利です。次は「登場する都市の一覧(重複なし)」です。

cut -d , -f 3 data.csv | tail -n +2 | sort -u

結果はリダイレクトでファイルに保存できます。集計結果をレポートとして残すときの形です。

grep 東京 data.csv | cut -d , -f 1 > tokyo.txt
cat tokyo.txt

やってみよう

grep 東京 data.csv | cut -d , -f 1 で東京の人の名前が並ぶのを確認しましょう。> tokyo.txt を付けて保存し、cat tokyo.txt で中身が残っていることも確かめてください。

演習

data.csv から「大阪に住んでいる人の名前(1列目)」だけを取り出してください。

ヒント1を見る

まず grep 大阪 で絞り、次に cut -d , -f 1 で名前を取り出します。

ヒント2を見る

grep 大阪 data.csv | cut -d , -f 1

実際に動かしてみよう

下の端末にコマンドを打って Enter を押すと、その場で結果が返ります。本文で出てきたコマンドを実際に試しながら進めましょう(ファイルを消しても「最初からやり直す」で元に戻ります)。

Linux シェル(シミュレート)

ブラウザ内でコマンドを試せる仮想シェルを読み込みます(本物のLinuxカーネルではなく学習用の再現です)。
スクロールして表示された時点でも自動で読み込まれます。