csvファイルから必要な要素を取り出す

awkのデフォルトのフィールドセパレータ(FS)は空白なので,csvから必要な要素(フィールド)を取り出すにはFSを変更する必要がある。

awkでは-Fで,FSが変えられる。

$ awk -F , ‘{print $1, $3 }’ hoge.csv

スクリプトでFSを変えるときはBEGINが使われる事が多い

awk ‘BEGIN { FS=”,”;} {print $1, $3 }’ hoge.csv

csvファイルから必要な要素を取り出す」への2件のフィードバック

  1. Rocco

    アクションで FS を変更するには読み込まれる前に変更しなければいけないのはちょっと面倒ですね。
    {if(NR%2!=0){FS=”,”print $1, $3}} のようにしても読み込まれた後の変更になりますね。

    返信
  2. Nto

    ううっ。せっかくご指摘いただきましたけど,意味が理解できません(^^;。
    自分用のメモだったので,目的が達成できれば満足していました。

    返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください