我只需要下面文件中包含“+”等符号以及数字和字符的记录。
285627
AA283244
278178##
295456+
asdfasdf{
asdfasdfasdf
我尝试了下面的代码,但它给出了所有记录
grep -E '[a-zA-Z0-9]+' temp.txt
我只需要那些包含字母、数字或+
符号的记录。如果任何记录包含任何其他字符,则应将其丢弃。记录号 3 和 5 不应出现在结果中:
285627
AA283244
295456+
asdfasdfasdf
答案1
删除任何包含非字符(字母或数字或+
)的行:
grep -v '[^[:alnum:]+]' file
答案2
+
你的角色列表中缺少。后面的加号[...]
是量词(前面提到的字符组中的 1 个或多个)。
此外,您还必须将其括起来^
作为行首和$
行尾,否则您还将匹配每行的部分内容,例如278178
from 278178##
。
尝试这个,
grep -E '^[a-zA-Z0-9+]+$' temp.txt