awk 行の表示 先頭行 最終行 指定行

awkは、テキスト処理に欠かせません。よく使う「行を指定した処理」に使える定型スクリプトをまとめました。簡単に書けるように、省略できる部分は極力省きました。

awk と 行

スポンサーリンク



awkで行を指定して「何かの処理」を実行するときは、「いま何行目?」をあらわす変数NRを利用します。例えば、awk 'NR==1'とすれば、1行目に対して処理を行います。一方、最終行では、わざわざ行番号を指定しなくても、「最後に」を意味するENDを使います。

awk と 行指定の処理

awkで行を指定した表示を行います。よく使う「先頭行・1行目」「最終行・最後の行」「行指定」について例(サンプル)を実行します。

サンプルデータ

$ cat aaa.txt
aaa bbb ccc
AAA BBB CCC
111 222 333

awk 先頭行・1行目の表示

NRを指定して、awkで先頭行を表示します。

簡潔に書いた場合

$ cat aaa.txt | awk 'NR==1'
aaa bbb ccc

省略せずに書いた場合

$ cat aaa.txt | awk 'NR==1 {print $0}'
aaa bbb ccc

awkでは、{}内に実行する処理を書きます。省略した場合はprintが実行され、1行全体を表示します。$0は、行全体をあらわします。$1は区切り文字でわけられた1列目の意味になります。

awk 最終行・最後の行の表示

ENDを指定して、awkで最終行を表示します。

$ cat aaa.txt | awk 'END{print}'
111 222 333

{}内に実行する処理を書きます。'END{print}'で、「(awk処理の)最後に行を表示」の意味になります。$0は省略しています。

awk 指定行の表示

NR==行番号を指定して、awkで指定行を表示します。

$ cat aaa.txt | awk 'NR==2'
AAA BBB CCC

{}内の処理は省略したので、print $0が実行されます。

awk と 行の表示 まとめ

awkで行を指定する場合は、NRを使います。最終行は、「何行目か?」がわからないことが多いので、END{}を使います。行に対して処理を省略するとprint $0が実行され、行全体を表示します。簡単に書きたい場合は、省略を活用すると短く書けます。

スポンサーリンク





ピックアップ記事

  1. awk split サンプルでわかる列の分割とセパレータ(文字・正規表現)の指定方法

    awkのsplit関数は、セパレータを指定して文字列を分割することができます。セパレータには文字や…
  2. awk for 繰り返し処理 簡単なサンプルでわかる インクリメント・デクリメント、変わった繰り返し

    awkのfor文は、カウンタを目印にして処理を繰り返したいときによく使われます。for文では、カウ…
  3. R 使い方 グラフの色 自作のカラーパレットとデフォルトのカラーパレット

    グラフを描画する際、色の組み合わせを1つ1つ考えるのは面倒ですよね。Rには、あらかじめ色の組み合わ…

人気記事

  1. Excel, その他, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…
  2. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…
  3. R データ型 - 文字列・ベクター・データフレーム・マトリックス など-, R言語, スクリプト

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…

おすすめ記事

  1. bash 応用, シェルスクリプト

    シェル スクリプト ファイル存在チェック・空のファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  2. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…
  3. awk, bash 文字列操作, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…