AWKの文字列操作関数と関連機能 - AWK
**** 文字列操作の手引き文字列操作関数使用時の注意点まとめ
文字列を組み立てる
+ 速度比較。文字列の組み立て
文字列から文字を1つずつ取り出す
文字列中で使用出来る特殊文字
▼正規表現
ツール。文字列からアスキーコードを調べます(String to ASCII)
**** 組み込み関数
o 調べる
length = 文字列や配列の長さを調べる
index = 文字列の登場位置を調べる
match = 正規表現の登場位置を調べる
o 取り出す
substr = 文字列の一部を取り出す
int = 実数や文字列を整数化する
strtonum = 10進数、8進数、16進数の文字列を数値に変換する(Gawk専用)
split = 文字列を分割する
patsplit = 文字列を分割する。FPAT版(Gawk専用。バージョン4以降)
sprintf = 文字列を組み立てる
o 置き換える
gsub = 文字列を置き換える
sub = 文字列を、最初の1つだけ置き換える
gensub = n番目に見つかった文字列を置き換える(Gawk専用)
toupper = アルファベットを大文字にする
tolower = アルファベットを小文字にする
**** 関係する変数
o 更新する値
$0 = 最後に入力したデータ、1行分。対象文字列の指定が無い時に、使われる事があります。
RSTART = match関数で見つけた文字列の先頭位置
RLENGTH = match関数で見つけた文字列の長さ
o 文字列操作する為に使う値
FS = 分割する時の区切り文字。split関数で区切り文字の指定が無い時に、使われます。
FPAT = 分割する時の列取り出し規則。patsplit関数で区切り文字の指定が無い時に、使われます。(Gawk専用。バージョン4以降)
OFMT = printを使って数値1つだけを書き出す時の書式
CONVFMT = 数値を文字列に自動変換する時の書式
IGNORECASE = 文字列比較の時に、大文字小文字を区別させない(Gawk専用)
**** 関係する演算子
o 代入
= = 代入
o 結合
(空白を入れて並べて書くと結合) = A B C と書くと、変数Aと変数Bと変数Cを文字列として結合
o 比較
== = 等しい時に真。比較の時は、等号を2つ並べます。
!= = 等しくない時に真
~ = 左辺の中に、右辺の正規表現に一致する部分がある時に真
!~ = 左辺の中に、右辺の正規表現に一致する部分が無い時に真
> = 左辺よりも大きい時に真
>= = 左辺よりも大きいか、等しい時に真
< = 左辺よりも小さい時に真
<= = 左辺よりも小さいか、等しい時に真
o 条件演算
?: = A ? B : Cの形。条件Aによって、どちらか1つの値を取ります。
名前 | Gawk on Windows 3.1.7 | Gawk for Windows 3.1.6 | mawk32 1.3.3 | Mawk for Windows 1.3.3 | awk (May 1, 2007) | 説明 |
---|---|---|---|---|---|---|
調べる | ||||||
length | ○ (文字数) | ○ (文字数) | ○ (バイト数) | ○ (バイト数) | ○ (バイト数) | 文字列や配列の長さを調べる |
index | ○ (文字数) | ○ (文字数) | ○ (バイト数) | ○ (全角不可) | ○ (全角不可) | 文字列の登場位置を調べる |
match | ○ (文字数) | ○ (文字数) | ○ (バイト数) | ○ (全角不可) | ○ (全角不可) | 正規表現の登場位置を調べる |
取り出す | ||||||
substr | ○ (文字数) | ○ (文字数) | ○ (バイト数) | ○ (バイト数) | ○ (バイト数) | 文字列の一部を取り出す |
int | ○ | ○ | ○ | ○ | ○ | 実数や文字列を整数化する |
strtonum | ○ | ○ | × | × | × | 10進数、8進数、16進数の文字列を数値に変換する |
split | ○ | ○ | ○ | △ (全角不可) | △ (全角不可) | 文字列を分割する |
sprintf | ○ | ○ | ○ | ○ | △ (全角不可) | 文字列を組み立てる |
置き換える | ||||||
gsub | ○ | ○ | ○ | △ (全角不可) | △ (全角不可) | 文字列を置き換える |
sub | ○ | ○ | ○ | △ (全角不可) | △ (全角不可) | 文字列を、最初の1つだけ置き換える |
gensub | ○ | ○ | × | × | × | n番目に見つかった文字列を置き換える |
toupper | ○ | ○ | △ | △ (全角不可) | △ (全角不可) | アルファベットを大文字にする |
tolower | ○ | ○ | △ | △ | △ | アルファベットを小文字にする |
変数。更新する値 | ||||||
$0 | ○ | ○ | ○ | ○ | ○ | 最後に入力したデータ、1行分。対象文字列の指定が無い時に、使われる事があります。 |
RSTART | ○ | ○ | ○ (バイト数) | ○ (バイト数) | ○ (バイト数) | match関数で見つけた文字列の先頭位置 |
RLENGTH | ○ | ○ | ○ (バイト数) | ○ (バイト数) | ○ (バイト数) | match関数で見つけた文字列の長さ |
変数。文字列操作する為に使う値 | ||||||
FS | ○ | ○ | ○ | ○ | ○ | 分割する時の区切り文字。split関数で区切り文字の指定が無い時に、使われます。 |
OFMT | ○ | ○ | ○ | ○ | ○ | printを使って数値1つだけを書き出す時の書式 |
CONVFMT | ○ | ○ | ○ | ○ | ○ | 数値を文字列に自動変換する時の書式 |
IGNORECASE | ○ | ○ | × | × | × | 文字列比較で大文字小文字を区別させない |
==
関連ページ:
▼AWKの関数、変数、制御文(▼ABC順)
▼AWKプログラムを書く
▼AWK
▼制作メモ
> ▼AWKの時刻取得関数と関連機能
▼AWKの入出力関数とコマンド実行機能
▼AWKのインターネット接続機能(Gawk専用)
+
▼AWKの配列操作関数と関連機能
▼AWKの数値計算関数と関連機能
▼AWKのパターンと制御文