先頭は1始まりで、0が返されるのは見つからなかった時
$0は行全体
test.txt
login abc
ftp ip
hello
test.sh
#!/bin/sh
awk -v add_v="123" '{
if (match($0,/login/) != 0) {
printf("%s %s[%s]\n", $0, add_v, match($0,/login/));
} else {
printf("%s[%s]\n", $0, match($0,/login/));
}
}' test.txt
# -vはawkで使う変数定義の模様