$ 1 é o primeiro argumento para um script e você não está passando um argumento para ele no exemplo acima. Você poderia fazer isso funcionar criando um script file_count.sh:
#!/bin/sh
ssh user@host "grep \"SearchTerm $1\" file.txt \
| sed 's/^.*SearchTerm $1,//g' | sort | uniq -c | sort -nr"
ou outra ideia é criar um alias bash (ou equivalente ao seu shell):
bash$ search_count() { ssh user@host "grep \"SearchTerm $1\" file.txt \
| sed 's/^.*SearchTerm $1,//g' | sort | uniq -c | sort -nr"; }
bash$ search_count wally
5 SearchTerm wally