获取仅包含某些特定符号和数字的行

获取仅包含某些特定符号和数字的行

我只需要下面文件中包含“+”等符号以及数字和字符的记录。

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 个或多个)。

此外,您还必须将其括起来^作为行首和$行尾,否则您还将匹配每行的部分内容,例如278178from 278178##

尝试这个,

grep -E '^[a-zA-Z0-9+]+$' temp.txt 

相关内容