awk 使い方 フィールド取り出し スクリプトの書き方

awkで簡単なフィールドデータの取り出しを行います。awk は入力された行について、空白やタブで区切られたデータをフィールドと解釈します。$1・$2…を指定することで、各行のフィールドを取り出すことができます。尚、$0は入力行全体です。sed と同じように「-f」でスクリプトファイルを指定することができます。

とにかく早く問題解決したい人はこちら>>直接、データ解析相談

awk の書き方

awk '命令' 対象となるファイル

awk の使い方

簡単な例で「awk」のフィールドデータ取り出しを使ってみましょう。

  1. ファイルの第1フィールドを取り出し
    $ cat awk_data.txt
    >a1 b1 c1 d1,R1
    AAAAAAAAAAAAAAA
    >a2 b2 c2 d2,R2
    AAAAAAAAAAAAAAA
    
     awk '{print $1}' awk_data.txt
    >a1
    AAAAAAAAAAAAAAA
    >a2
    AAAAAAAAAAAAAAA	
    
  2. ファイルの「>」行だけを取り出し
    awk '/>/' awk_data.txt
    >a1 b1 c1 d1,R1
    >a2 b2 c2 d2,R2
    
  3. 「>」行をフィルタリング、第1・第3フィールドを取り出し
    awk '/>/ {print $1,$3}' awk_data.txt
    >a1 c1
    >a2 c2
    
  4. 「>」行をフィルタリング、区切り文字を「,」カンマに変更
    awk -F, '/>/ {print $1}' awk_data.txt
    >a1 b1 c1 d1
    >a2 b2 c2 d2
    
  5. 「>」行をフィルタリング、第1・第3フィールドを取り出し(awk 命令をファイルで提供)
    $cat awk1
    />/ {print $1, $3}
    
    awk -f awk1 awk_data.txt
    >a1 c1
    >a2 c2
    

ポイント

  • スペースの要・不要を区別する。特に、区切り文字の変更のとき不要なスペースを入れない
  • 命令はシングルクォーテーションで囲む
  • 命令内の処理は{}で囲む
  • 行の絞りこみなどの条件で、正規表現を使う場合//で囲む
とにかく早く問題解決したい人はこちら>>直接、論文相談

関連記事

awk 行の表示 先頭行 最終行 指定行
awk 置換や部分文字列などの文字列処理 gsub sub match index split 等
awk 複数行の処理
awk split | サンプルでわかる列の分割とセパレータ指定方法
awk while・do 繰り返し処理
awk for | サンプルでわかる、基本的な繰返し・変則的な繰返し
awk if サンプルでわかる条件文の書き方 一致・大小比較・正規表現を簡潔に書く方法
awk 配列 使い方
awk よく使うシステム変数と使い方
awk パターンとアクション
awk 区切り文字とフィールド
awk コマンドラインでの実行とスクリプトファイルでの実行
正規表現 メタキャラクタ 検索・置換 前編
正規表現 メタキャラクタ 検索・置換 後編



カテゴリー

今週よく読まれている記事

  1. 学会・会議で英語が絶望的にできなくて困るケース | オンライン開催で「英語力のなさ」を痛感した場合の対処法

    学会・会議で英語ができなくてに困るケース学会やイベント・会議などが、オンラインで開催される…
  2. r tidyverse 使い方 | 列 filter 絞り込み select関数 – dplyrパッケージ

    tidyverseで1つのデータフレームの列の絞り込みは、dplyrパッケージのselect関数を…
  3. プログラミングで疲れた脳をリフレッシュ 〜 鬼滅の刃「感動」と「やる気アップ」でストレス発散!

    ストレス発散は鬼滅で。「50%OFF」で読む!脳のパフォーマンスを上げるには、適度な休憩と…
  4. AWS ディスク容量不足 新しいボリュームを追加する

    バイオインフォマティクスでは大きなファイルを扱うことがあるので、ディスク不足に陥ることがあります。…
  5. 「知っている」と「知らない」とでは、もしものとき、大違いになる – コロナうつ対策

    コロナうつなどという言葉を聞くようになりましたが、派遣切り、解雇、リストラは、これから本格化します…

人気記事

  1. R言語

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

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…
  3. Excel, 統計

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

おすすめ記事

  1. awk, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…
  2. R言語, グラフ

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

    シェルスクリプト | ファイル存在チェック・空ファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…