grep 搜索不含某个字符的行

ajige 2010-12-27 11:06:37
搜索不含 # 的行:
用 grep '[^]#' a.cc 为什么会把文件a.cc中的所有行都搜出来??
后来 用 grep '^[^#]$' a.cc 把问题解决了。但是不理解 为什么 用第一个指令实现不了呢?
求教!
...全文
1248 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ferrerox 2010-12-29
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 a_jige 的回复:]

没有明白这是什么意思??
[^#]和[^#]* 究竟代表什么意思?

引用 14 楼 ferrerox 的回复:

*意思是:重复前一个RE字符0到任何次
如果[^#]*表示0个[^#],那意思不就是含#吗?但如果表示1个[^#],意思就是没有#的行
所以所有的都会显示出来
[/Quote]
[^#]就是不含#的那一行,这好理解吧
* 的意思就是重复前一个RE字符0到任何次,比如前面是d,就重复d这个字符0到任何次,这好理解吧
然后 [^#]*,意思就是重复 [^#] 0到任何次了
chituma616 2010-12-28
  • 打赏
  • 举报
回复
[^#]指匹配任一非#字符,至于字符*表示匹配前面的字符任意次。
ajige 2010-12-28
  • 打赏
  • 举报
回复
没有明白这是什么意思??
[^#]和[^#]* 究竟代表什么意思?

[Quote=引用 14 楼 ferrerox 的回复:]

*意思是:重复前一个RE字符0到任何次
如果[^#]*表示0个[^#],那意思不就是含#吗?但如果表示1个[^#],意思就是没有#的行
所以所有的都会显示出来
[/Quote]
wzw12315 2010-12-27
  • 打赏
  • 举报
回复
grep -v "#" a.cc 这个好用
sharke118 2010-12-27
  • 打赏
  • 举报
回复
恩 grep 的 -v 参数 效率高
sharke118 2010-12-27
  • 打赏
  • 举报
回复
sed 和 awk 用法就高级了 ~
小魔菇 2010-12-27
  • 打赏
  • 举报
回复
-v “#”
sharke118 2010-12-27
  • 打赏
  • 举报
回复
grep '^[^#]' a.cc 这样就可以了 第一个 ^ 表示 以^ 后面表达式的形式开头 即以 [^#]形式开头的行

而 ^# 表示 “不是#” 的意思 合起来就是 以非 # 形式开头的行

你的这个 grep '[^]#' a.cc 好像是不合法的表示喃
Linux-Torvalds 2010-12-27
  • 打赏
  • 举报
回复
awk '$0 ~ /[^#]\+/{print $0}'
Linux-Torvalds 2010-12-27
  • 打赏
  • 举报
回复
sed -n '/#/!p'
chlaws 2010-12-27
  • 打赏
  • 举报
回复
'[^]#' [^]里面没有排除任何东西
Linux-Torvalds 2010-12-27
  • 打赏
  • 举报
回复
另外grep '^[^#]$' 正则中的开头和结尾^ $是有点多余的。
bluejays 2010-12-27
  • 打赏
  • 举报
回复
试试 grep -v "#" a.cc
Linux-Torvalds 2010-12-27
  • 打赏
  • 举报
回复
grep '[^#]' a.cc
jihen 2010-12-27
  • 打赏
  • 举报
回复
grep '^[^#]$' a.cc
grep 中 ^表示行首,$表示行末尾,^$配合选定一行,
grep '^[^#]*$' a.cc,应该是这样才对。
Ferrerox 2010-12-27
  • 打赏
  • 举报
回复
*意思是:重复前一个RE字符0到任何次
如果[^#]*表示0个[^#],那意思不就是含#吗?但如果表示1个[^#],意思就是没有#的行
所以所有的都会显示出来
Linux-Torvalds 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 a_jige 的回复:]

原贴有点错误,,我想问的是 为什么 grep '[^#]*' a.cc 实现不了将所有不含 #的行显示的功能 呢?
[/Quote]
*表示{0,},试试.*
grep '[^#].*' a.cc
ajige 2010-12-27
  • 打赏
  • 举报
回复
原贴有点错误,,我想问的是 为什么 grep '[^#]*' a.cc 实现不了将所有不含 #的行显示的功能 呢?

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧