sed -n '/search?q=/{s/.*search?q=//;p;}' infile > outfile
Explicação:
/search?q=/ faz com que o conjunto de comandos a seguir (em chaves) se aplique somente a linhas que contenham essa regex.
s/.*search?q=// substitui a segunda parte (vazia) pela primeira parte.
Em seguida, p imprime a linha.
O sinalizador -n suprime a impressão padrão da linha.
Na verdade, você pode simplificar isso assim:
sed -n '/.*search?q=/{s///;p;}' infile > outfile
Porque quando o padrão alimentado para o comando s/ é deixado em branco, o último padrão usado é usado novamente.
EDIT: Obrigado a RobertL por apontar uma simplificação nos comentários:
sed -n 's/.*search?q=//p' infile > outfile
Isso usa o sinal p no comando s , que só imprime a linha se uma substituição foi feita.