示例:
user1@mail.com:password!@#$
user@mail.com:password
user2@mail.com:pa$$w0rd
预期输出:
user@mail.com:password
答案 0 :(得分:1)
详细信息将取决于您所说的“特殊”字符。 出于讨论的目的,假设“特殊”是指非字母和数字。
让我们运行 grep 来查找您的“特殊”模式:所有带有冒号的行都在某个点后跟着“特殊”字符。
$ grep ":.*[^A-Za-z0-9]" foo.dat
一旦仅在具有“特殊”字符的行上获得匹配,就可以添加grep的 -v 选项以省略与模式匹配的行。
$ grep -v ":.*[^A-Za-z0-9]" foo.dat
换句话说, -v 将仅打印与您的模式不匹配的行,这意味着在这种情况下,它将打印无冒号后跟特殊字符的行。