grep -o '[|%&,!^":]' input | sort -u
Вы должны перечислить все свои специальные символы в скобках.
Это вернет каждого уникального специального символа в отдельной строке. Если вам действительно нужна строка с этими символами, вы должны впоследствии удалить символы новой строки, например ::10000
grep -o '[|%&,!^":]' input | sort -u | tr -d '\n'
UPDATE:
Если вам нужно удалить все символы, которые не входят в набор «a-zA-Z0-9», вы можете использовать этот:
grep -o '[^a-zA-Z0-9]' input | sort -u | tr -d '\n'