Bash + coreutils, 59 bytes
f()(sed 's/\(.\)/\1\ /g'<<<$s|grep .|sort -c$1) s=$1 f||f r The input string is passed as an argument.
The output is returned in the exit code (0 for truthy, 1 for falsy, as usual), as allowed by PPCG I/O methods.
f()(sed 's/\(.\)/\1\ /g'<<<$s|grep .|sort -c$1) s=$1 f||f r The input string is passed as an argument.
The output is returned in the exit code (0 for truthy, 1 for falsy, as usual), as allowed by PPCG I/O methods.