awk 基本

  • awkコマンドの書き方

% awk '{コマンド}' ファイル名

 

ファイルtest.txtを用いて色々やってみる

test.txtの中身

-------------------

11 12 13 14 15

21 22 23 24 25

31 32 33 34 35

-------------------

 

  • awkの基本
    • 区切り文字
      空白や,など
    • 列 
      ファイルの中身は区切り文字によって列に分解される
      列は、$1, $2,..で1列目, 2列目と指定できる

    • 行の指定は、NR==[行番号]でできる

 

  • 基本コマンド
    • print          ←ファイルの中身を表示する
      % awk '{print'} test.txt

      11 12 13 14 15

      21 22 23 24 25

      31 32 33 34 35
      % awk'{print $1, $3}' test.txt
      11 13
      21 23
      31 33

    • printf
      % awk '{printf "%s ++ %s", $1, $3}' test.txt
      11++1321++2331++33  ←改行なく表示される
      % awk '{printf "%s ++ %s¥n", $1, $3}' test.txt
      11++13
      21++23
      31++33         ←改行された