広告スペース(バナー)
🖥️Linux/シェルコマンド レッスン
ターミナルの基本操作6▾
ファイル操作の基礎6▾
権限とファイル検索6▾
プロセスとディスク管理6▾
履歴とテキスト処理6▾
環境変数とネットワーク基本6▾
接続と比較・日時操作6▾
テキスト整形と情報取得6▾
レッスン 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/シェルコマンドの疑似ターミナル に実際に入力して試せます(このページ自体には操作可能なターミナルはありません)。
🎯
ここまでできればゴール達成!
区切られたデータから、条件付きで列を取り出せるようになります。
区切られたデータから、条件付きで列を取り出せるようになります。
広告スペース(バナー)
広告スペース(記事内)