scpt8_1.awk
#!/usr/local/bin/gawk -f
# scpt8_1.awk
BEGIN{
# length(str)
x = length("lemon")
print "x = " x
y = "egg"
z = length(y)
print "z = " z
print length("私")
print length("私は中国人です")
# index(string, str)
print index("proogramming", "gram")
print index("prog", "programming")
str1 = "computer"
str2 = "ter"
pos = index(str1, str2)
print pos
str1 = "プログラミング言語 AWK"
str2 = "言語"
print index(str1, str2)
# match(str, reg)
# /g.*m/ という正規表現にマッチする部分文字列を探す
# 正規表現で /./ 任意の文字に, /*/ は 0 個以上繰り返しを表す
# g と m の間に任意の文字がなくても, いくつあっても良いということをいみする
y = match("programming", /g.*m/)
print "y = " y
print "RSTART = " RSTART # 適合した最初の文字位置
print "RLENGTH = " RLENGTH # 適合した部分文字列の長さ
}
scpt8_1.awk の実行結果は:
[cactus:~/code_awk/tuts]% ./scpt8_1.awk
x = 5
z = 3
3
21
5
0
6
22
y = 4
RSTART = 4
RLENGTH = 5