Existem dois casos em que você precisa lidar, onde a linha é menor do que a string de pesquisa ou onde ela é mais longa.
Quando é mais longo, você quer testar se o início da linha é igual à string de teste.
Quando é mais curto, você deseja testar se o início da string de pesquisa é igual à linha.
Nos casos em que os comprimentos são iguais, o método funciona.
awk -v search=abc 'length() > length(search) ? substr($0, 1, length(search)) == search : substr(search, 1, length()) == $0' inputfile