[awk] awk에서 부분문자열 여부 판단 (index function)
awk에서 index 함수는 문자열 s1 내에 특정 문자열 s2의 존재 여부를 판단하는 함수이다.
특정 문자열이 존재하면, 특정 문자열의 위치를 알려준다.
특정 문자열이 없으면, 0을 돌려준다.
다음과 같이 사용하면 된다.
echo "kk" |
awk '{
s1 = "abcdefg";
s2 = "bcd";
s3 = "xyz";
printf("%s, %s\t%d\n", s1, s2, index(s1, s2));
printf("%s, %s\t%d\n", s1, s3, index(s1, s3));
}'
위의 실행 결과는 다음과 같다.
abcdefg, bcd 2
abcdefg, xyz 0
위에서 s2는 s1의 부분 문자열이고, 2번째 위치부터 존재함을 의미한다.
위에서 s3는 s1의 부분 문자열이 아니므로, 0의 값을 출력한다.
특정 문자열이 존재하면, 특정 문자열의 위치를 알려준다.
특정 문자열이 없으면, 0을 돌려준다.
다음과 같이 사용하면 된다.
echo "kk" |
awk '{
s1 = "abcdefg";
s2 = "bcd";
s3 = "xyz";
printf("%s, %s\t%d\n", s1, s2, index(s1, s2));
printf("%s, %s\t%d\n", s1, s3, index(s1, s3));
}'
위의 실행 결과는 다음과 같다.
abcdefg, bcd 2
abcdefg, xyz 0
위에서 s2는 s1의 부분 문자열이고, 2번째 위치부터 존재함을 의미한다.
위에서 s3는 s1의 부분 문자열이 아니므로, 0의 값을 출력한다.
댓글