Как удалить строки, содержащие специальный символ после первого: - PullRequest
0 голосов
/ 08 декабря 2018

Пример:

user1@mail.com:password!@#$
user@mail.com:password
user2@mail.com:pa$$w0rd

Ожидаемый результат:

user@mail.com:password

1 Ответ

0 голосов
/ 08 декабря 2018

Детали будут зависеть от того, что вы подразумеваете под «особыми» символами.Предположим, просто для обсуждения, что «специальный» означает не алфавитный и не цифровой.

Давайте запустим grep , чтобы найти ваш «специальный» шаблон: все строки с двоеточием следуютв какой-то момент «специальным» символом.

$ grep ":.*[^A-Za-z0-9]" foo.dat

Как только вы получаете совпадения только на строках с вашими «специальными» символами, вы можете добавить опцию grep -v , чтобы пропустить строкисоответствует вашему шаблону.

$ grep -v ":.*[^A-Za-z0-9]" foo.dat

Другими словами, -v будет печатать только строки, которые не соответствуют вашему шаблону, что означает, что в этом случае он будет печатать строки без двоеточияпо специальному символу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...