Детали будут зависеть от того, что вы подразумеваете под «особыми» символами.Предположим, просто для обсуждения, что «специальный» означает не алфавитный и не цифровой.
Давайте запустим grep , чтобы найти ваш «специальный» шаблон: все строки с двоеточием следуютв какой-то момент «специальным» символом.
$ grep ":.*[^A-Za-z0-9]" foo.dat
Как только вы получаете совпадения только на строках с вашими «специальными» символами, вы можете добавить опцию grep -v , чтобы пропустить строкисоответствует вашему шаблону.
$ grep -v ":.*[^A-Za-z0-9]" foo.dat
Другими словами, -v будет печатать только строки, которые не соответствуют вашему шаблону, что означает, что в этом случае он будет печатать строки без двоеточияпо специальному символу.