文字列中で使用出来る特殊文字 - AWK
○(注記あり)Gawk on Windows ○(注記あり)Gawk ○(注記あり)mawk32 ○(注記あり)Mawk ○awk
AWKでは、文字列に含める事が難しい文字について、\ から始まる特殊文字の形で指定する事が出来ます。o 使用例
--------
BEGIN {
printf("ミクさん、\\はネギの印ではありませんよ、、、多分。\n");
}
--------
記号 | 意味 |
---|---|
\\ | \ 自身 |
\" | " (= 二重引用符)自身 |
\n | 0x0a = 改行 |
\r | 0x0d = 復帰。Windows版では、バイナリモードの時の改行でお世話になります。 |
\t | 0x09 = タブ文字 |
\v | 0x0b = 水平タブ。普通は使いません。 |
\a | 0x07 = ベル(音が鳴ります)。普通は使いません。 |
\b | 0x08 = バックスペース。普通は使いません。 |
\f | 0x0c = 改ページ。普通は使いません。 |
\x12 | 文字コードの16進数表現。コードが2桁に満たない時、前ゼロで埋めます。 |
\012 | 文字コードの8進数表現。コードが3桁に満たない時、前ゼロで埋めます。 |
処理系に依存する特殊文字 | |
\/ | / 自身。正規表現以外の文字列に含める場合、処理系によって動作が異なります。 o オリジナルは常に変換します。 o mawkは変換しません。 o Gawkは警告が出ますが変換します。 |
\' | ' (= 一重の引用符)自身。処理系によって動作が異なります。 o オリジナルは常に変換します。 o mawkは正規表現の時だけ変換します。 o Gawkは文字列の時だけ、警告を出しながら変換します。 |
**** メモ
o \/ の規則については、オリジナルでの採用に対して他の2つの処理系が消極的な、珍しいケースになりました。
+ オリジナルは、正規表現と交互に入力する時に楽なように、\/ を常に / に変換します。
+ 一方、mawkやGawkは、非対応だったり、警告を出したりしています。他言語との互換性を重視しているみたいです。
o 8進数や16進数の使用例は、「AWKプログラムの中で、8進数や16進数を使う方法」
**** 確認した処理系
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プログラムを書く(▼ABC順)
▼AWK
▼制作メモ
> ツール。文字列からアスキーコードを調べます(String to ASCII)
length = 文字列や配列の長さを調べる
index = 文字列の登場位置を調べる
+
AWKの正規表現で使う書式
AWKプログラムの中で、8進数や16進数を使う方法
sprintf = 文字列を組み立てる
printf = 文字列を組み立ててファイルなどに書き出す
print = ファイルなどに書き出す
(2010年10月1日追加。「'」(= 一重の引用符)も変換対象)