String matching: Difference between revisions
Content added Content deleted
(awk cannot use ~ unless sanitized string, use index instead) |
(→{{header|AWK}}: support part 2) |
||
Line 997: | Line 997: | ||
=={{header|AWK}}== |
=={{header|AWK}}== |
||
<lang AWK>#!/usr/bin/awk -f |
<lang AWK>#!/usr/bin/awk -f |
||
{ pos=index($2,$1) |
|||
{ |
|||
print $2, (pos==1 ? "begins" : "does not begin" ), "with " $1 |
|||
print $2, (pos ? "contains an" : "does not contain" ), "\"" $1 "\"" |
|||
if (pos) { |
|||
⚫ | |||
l=length($1) |
|||
Pos=pos |
|||
s=$2 |
|||
while (Pos){ |
|||
print " " $1 " is at index", x+Pos |
|||
x+=Pos |
|||
s=substr(s,Pos+l) |
|||
Pos=index(s,$1) |
|||
} |
|||
} |
|||
⚫ | |||
} |
} |
||
</lang> |
</lang> |