広告スペース(バナー)
🖥️Linux/シェルコマンド レッスン
ターミナルの基本操作6
ファイル操作の基礎6
権限とファイル検索6
プロセスとディスク管理6
履歴とテキスト処理6
環境変数とネットワーク基本6
接続と比較・日時操作6
テキスト整形と情報取得6
仕上げのコマンド12
レッスン 35 / 61

awk で特定の列だけを取り出そう

「CSVファイルから特定の列を取り出しつつ、もっと柔軟な加工もしたい」というときに使うのがawkです。awkは行を指定した区切りでフィールドに分割し、条件や計算を含む柔軟な処理ができるコマンドです。

awk -F 区切り文字 '{print $列番号}' ファイル名という書式で使います。-Fで区切り文字を指定し、$1$2で列番号を指定します。

awk -F , '{print$1}' data.csvを実行すると、data.csvをカンマで区切ったうちの1列目が、各行ごとに抜き出されて表示されます。

よくあるつまずきは、単純な列抽出だけならcutで十分なのに、複雑なawkを使ってしまい可読性が下がることです。用途に応じてシンプルな道具を選びましょう。

実務では列ごとの合計値の計算や、条件に一致する行だけの加工など、cutでは対応できない複雑なテキスト処理でよく使われます。

Linux/シェルコマンド
試してみよう(疑似ターミナルへの入力例)
awk -F , '{print$1}' data.csv

🧑‍💻 このコマンドは Linux/シェルコマンドの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。

🎯
ここまでできればゴール達成!
区切られたデータから、条件付きで列を取り出せるようになります。
広告スペース(バナー)
広告スペース(記事内)