免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2705 | 回复: 10
打印 上一主题 下一主题

关于GREP中使用正则表达式的疑惑 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-08 09:02 |只看该作者 |倒序浏览
我在一个文件夹下有四个文件,名字分别为1125 1128 1129 1130
使用ls|grep 11[23]|grep 112[89],什么都没显示出来
使用ls|grep 11[23]|grep 112[^8],显示出来的反而是1128,我觉得和我理解不太一样,想请高手帮我解释下

论坛徽章:
0
2 [报告]
发表于 2008-01-08 09:10 |只看该作者
ls 显示问题. ls ->echo

论坛徽章:
0
3 [报告]
发表于 2008-01-08 09:13 |只看该作者
echo是显示变量的吧,能显示文件名吗?

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
4 [报告]
发表于 2008-01-08 09:26 |只看该作者
ls | \grep 112[89]

试试

论坛徽章:
0
5 [报告]
发表于 2008-01-08 09:31 |只看该作者
正则表达式加单引号


  1. $ ls | grep '11[23]' | grep '112[^8]'
  2. 1125
  3. 1129
  4. $ ls | grep '11[23]' | grep '112[89]'
  5. 1128
  6. 1129
复制代码


一定要搞清楚什么时候该加单引号,什么时候该加双引号,什么时候不加,什么时候无所谓

[ 本帖最后由 lgfang 于 2008-1-8 09:34 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2008-01-08 09:32 |只看该作者
原帖由 ly5066113 于 2008-1-8 09:26 发表
ls | \grep 112[89]

试试



不行,也是什么都没有

论坛徽章:
0
7 [报告]
发表于 2008-01-08 09:33 |只看该作者
原帖由 lgfang 于 2008-1-8 09:31 发表
政则表达式加单引号

ls | grep '11[23]' | grep '112[^8]'



谢谢你

论坛徽章:
0
8 [报告]
发表于 2008-01-08 09:53 |只看该作者

发现这个问题也真不容易啊

grep 遇到11[23]是没什么问题的,遇到112[89]就有问题了,就多了一位数字
  1. [root@MyTest ~]# ls | grep '11[23]'
  2. 1125
  3. 1128
  4. 1129
  5. 1130
  6. [root@MyTest ~]# ls | grep 112[89]
  7. [root@MyTest ~]# ls | grep '112[89]'
  8. 1128
  9. 1129
  10. [root@MyTest ~]#
复制代码

为什么??

论坛徽章:
0
9 [报告]
发表于 2008-01-08 10:14 |只看该作者

回复 #8 yuhe27913 的帖子

论坛徽章:
0
10 [报告]
发表于 2008-01-08 10:26 |只看该作者

回复 #8 yuhe27913 的帖子

跟你这个目录下的文件的文件名有关,不加引号,因为bash会扩展这种有[]的参数。
比如如果你有1122,1123这两个文件,如果参数为112[23],此时,bash会将它扩展为两个参数,即
1122,1123

grep 112[23]相当于grep 1122 1123
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP