使い方

$ echo "hello world" | awk '{ print $1 ", " $2 }'

参考:

初心者向け Awk の使い方 – Qiita

Awk のこういう時はどう書く? – Qiita

Awk の使いかた – Qiita

なるべく書かない Awk の使い方 | ザリガニが見ていた

テキストの加工とパターン処理、split 関数の活用 | @IT

テキストの加工とパターン処理、関数の活用と CSV | @IT

Awk リファレンス | UNIX & Linux コマンド・シェルスクリプト リファレンス

基本

参考:

awk コマンドの基本 – Qiita

コマンドの使い方とスクリプトの書き方 | SE 学院

パターンとアクション | The GNU Awk User’s Guide (kt.rim.or.jp)

式 | The GNU Awk User’s Guide (kt.rim.or.jp)

Getting Started with Awk | The GNU Awk User’s Guide (kt.rim.or.jp)

Expressions | The GNU Awk User’s Guide

導入

参考:

Awk の基本形 | OpenGroove

区切り文字 (FS)

参考:

AWK のフィールドセパレータの真実 – Qiita

awk でデリミタ/区切り文字を複数指定する | 俺的備忘録 なんかいろいろ

awk で複数の区切り文字を指定したい | HongoWiki

awk コマンドの区切り文字をカンマに変更 | Linuxと過ごす

あえて言うほどではないけれども、Awk の区切り文字について | TECHSCORE BLOG

テキストの加工やパターン処理をする | 日立 IT プラットフォーム

Awk でカンマ区切りのデータを指定した列だけカンマ区切りで出力する – Qiita

入力ファイルの読み込み | The GNU Awk User’s Guide (kt.rim.or.jp)

OFS / ORS

参考:

AWK の ORS 変数を設定すれば、レコードを特定の文字で結合できる | Bye Bye Moore

Awk で $0 出力するときに OFS 指定が無視られる問題 | kakenman の日記

Output Separators | The GNU Awk User’s Guide

how to keep Field Separator in AWK when using a sub statement – LinuxQuestions.org

How to keep the field separator when printing $0 with awk – Unix & Linux Stack Exchange

FPAT

参考:

gawk 4.0 で CSV をもっとうまく扱う – Qiita

gawk で EXCEL (エンクォート) の CSV 処理 | へにょってぃえ

GNU Awk で CSV ファイルを楽々あつかう組込変数 FPAT と、関数のインダイレクト呼び出し | CodeZine

CSV のデータ内のカンマを削除 – スタック・オーバーフロー

Splitting By Content | The GNU Awk User’s Guide

Can Awk deal with CSV file that contains comma inside a quoted field? – Stack Overflow

Parsing a CSV file using gawk – Stack Overflow

What’s the most robust way to efficiently parse CSV using awk? – Stack Overflow

when both delimiter and quotes are used for a field – Unix & Linux Stack Exchange

NF

参考:

Awk を使って CSV のカラム数をチェック – Qiita

Awk で末尾から数えて n 番目のフィールドを取り出す – Qiita

テキストファイルから最後のフィールドを取り出す | CUBE SUGAR STORAGE

Awk で行数/カラム数を取得する変数 | 瀬戸内の雲のように

組み込み変数/NF (フィールド数)/NR (行番号) | 株式会社創夢

Awk で1項目以外を簡単に出力したい – 教えて! goo

NR / FNR

参考:

FNR 現在読み込み中のファイルから読み込んだ行数 | to_dk notebook

Awk で行数/カラム数を取得する変数 | 瀬戸内の雲のように

組み込み変数/NF (フィールド数)/NR (行番号) | 株式会社創夢

different between NR and FNR – Unix Linux Forums

What is “NR==FNR” in awk? – Stack Overflow

制御構文

  • if
  • for
  • while
  • do { ... } while
  • break
  • continue
  • next
  • nextfile
  • exit

参考:

制御構文 | Let’s AWK

next / nextfile / exit

参考:

next と exit | WTOPIA v1.0 Documentation

next – 次行の処理に移る | to_dk notebook

nextfile – 次の入力ファイルの処理に移る | to_dk notebook

How to Use ‘next’ Command | Tecmint

Next Statement | The GNU Awk User’s Guide

Nextfile Statement | The GNU Awk User’s Guide

Skip to next file – Stack Overflow

組み込み関数

参考:

Awk に用意されている関数 | Let’s AWK

組み込み関数 | The GNU Awk User’s Guide (kt.rim.or.jp)

Awk の関数 | AWK に関する基礎知識

Built-in Functions | The GNU Awk User’s Guide

変数

参考:

変数のスコープ | アウトプットができる技術者に

Awk の変数 | WTOPIA v1.0 Documentation

変数のスコープ | AWK の基礎 (fukano.jp)

シェル変数の値を使う

参考:

コマンドへ値を渡す手法のまとめ – Qiita

Awk へシェルスクリプトの変数を渡す – Qiita

Awk からシェル変数を参照する – Qiita

Awk のフィールド指定のところを変数で指定する | かべぎわブログ

Awk のパターンに動的な変数を用いる書き方 – teratail

組み込み変数

  • FS
  • OFS
  • RS
  • ORS
  • NR
  • NF
  • FILENAME
  • FNR

参考:

システム変数を理解 (FS / OFS / RS / ORS / NF / NR / FILENAME) | おぼえがき

組み込み変数 | The GNU Awk User’s Guide (kt.rim.or.jp)

8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR | Daniel Han’s Technical Notes

Built-in Variables | AWK Language Programming (math.utah.edu)

Built-in Variables | The GNU Awk User’s Guide

@include

参考:

Include Files | The GNU Awk User’s Guide

igawk

参考:

igawk Program | The GNU Awk User’s Guide

シェルスクリプトで使う

参考:

How can I specify a row in awk in for loop? – Stack Overflow

CSV を扱う

参考:

Awk を使って CSV のカラム数をチェック – Qiita

Awk で CSV のカラム数を確認 – Qiita

ドキュメント

awk コマンド – テキストの加工やパターン処理をする | 日立 IT プラットフォーム

awk | The Open Group

The GNU Awk User’s Guide | GNU.org

Awk CSV Parser

リポジトリ:

geoffroy-aubry/awk-csv-parser: Awk and Bash code to easily parse CSV files, with possibly embedded commas and quotes – GitHub

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。

Protected by reCAPTCHA