我的行可以包含字母数字或其中任何一个字符,
,;
,/
,-
,_
。
我想打印包含上面列出的字符的任何行,即使它们有上面列出的字符
我试过这个
egrep '^[[:alnum:]]|\-|\_|\/|\:\,$'
它没有帮助我
示例: -
cat fc
2
a
A
-
_
/
?
egrep -nv '^[[:alnum:]]|\-|\_|\/$' fc
7:?
但是当我把它插入字符串的中间时:
cat fc_v1
hello
hello1
helloA
h@llo
h?llo
egrep -nv '^[[:alnum:]]|\-|\_|\/$' fc_v1
但它不起作用。如何在角色中显示角色?
期望是打印
H + llo0
H + LLO
因为他们没有列出的字符
幸运的是我能够通过
实现它egrep -n' [^ _ [:alnum:] | - | _ | /]' fc_v1
现在实际要求似乎不适用于上述语法
cat fc_v2
/ a /?hello -sec = sys,rw,root = c; g,nosuid
/ h / hello02 -sec = sys,rw,root = c,nosuid
/ h / @ hello_ -sec = sys,rw,root = c,nosuid
/ h / helloA -sec = sys,rw,root = c,nosuid
egrep -n' [^ _ [:alnum:] | / | _ | - | \,| \ =]' fc_v3
1:/ a /?hello -sec = sys,rw,root = c; g,nosuid
2:/ h / hello02 -sec = sys,rw,root = c,nosuid
3:/ h / @ hello_ -sec = sys,rw,root = c,nosuid
4:/ h / helloA -sec = sys,rw,root = c,nosuid
它打印所有行,预期只有第3行和第1行
答案 0 :(得分:0)
听起来你可能在寻找:
$ grep '[^-[:alnum:]_/:,]' file
h@llo
h?llo
但这是猜测,因为你没有发布样本输入的预期输出。