2010年8月21日土曜日

IGNORECASE = 文字列比較で大文字小文字を区別させない(Gawk専用) - AWK

AWKの文字列操作関数と関連機能
○Gawk on Windows ○Gawk ×mawk32 ×Mawk ×awk
文字列比較で大文字小文字を区別したくない時に、設定します。


**** 書式
--------
IGNORECASE
もしくは
IGNORECASE= 区別しない時は1
--------

o この変数は、Gawkの拡張機能です。
o IGNORECASEは変数です。
o 区別しない時は1 -- 0や空文字("")の時 = 大文字小文字を区別します / 1など、それ以外の時 = 大文字小文字を区別しません。
   + 全角文字の「A」と「a」も区別しません。詳しくは、機能の説明の通りです。


**** 使用例
--------
BEGIN {
  IGNORECASE = 1;
  if ("MIKUさん" == "mikuさん") {
    print "今実行している処理系は、Gawkです。";
  }
}
--------

o 行末のセミコロンは、C言語の書き方に合わせました。無くても動きます。


**** 機能
o 文字列比較で大文字小文字を区別させたくない時に使います。
   + 文字列の単純比較の他に、正規表現や文字列関数の動作も変わります。

o IGNORECASE = 0や空文字("")の時、大文字小文字を区別します。
   + Gawkの初期値です。
o 上記以外の時 = 次の文字について、大文字小文字を区別しません。
   + 半角のアルファベット。「A」と「a」は同じだと判定します。
   + 全角のアルファベット。「A」と「a」は同じだと判定します。

o IGNORECASEの設定で判定が変わるのは、全角文字同士、半角文字同士の場合だけです。
   + 全角の「A」と半角の「A」は常に区別します。
   + 全角の「a」と半角の「a」も常に区別します。


**** 確認した処理系
o Gawk on Windows 3.1.7
o Gawk for Windows 3.1.6
o mawk MBCS (32bit版) 1.3.3 -- 非対応
o Mawk for Windows 1.3.3 -- 非対応
o original = the one true awk(updated May 1, 2007) -- 非対応


==
関連ページ:
    ▼AWKの文字列操作関数と関連機能▼ABC順
    ▼AWKの入出力関数とコマンド実行機能
    ▼AWKプログラムを書く▼ABC順
    ▼AWK
    ▼目次
    > ?: = 条件演算子
    +
    index = 文字列の登場位置を調べる
    match = 正規表現の登場位置を調べる
    split = 文字列を分割する
    gsub = 文字列を置き換える
    sub = 文字列を、最初の1つだけ置き換える
    gensub = n番目に見つかった文字列を置き換える(Gawk専用)
    FS = 分割する時の区切り文字