免费注册 查看新帖 |

Chinaunix

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

awk 中正则表达式字符不区分大小写? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-23 15:04 |只看该作者 |倒序浏览
本帖最后由 personball 于 2012-04-25 16:03 编辑

遇到个情况
如下:

  1. personball@vps:~$ ls
  2. 2_1.txt  List.txt
  3. personball@vps:~$ ls|awk '/^[^a-z]/{print $0}'
  4. 2_1.txt
复制代码
求教:
为啥List.txt 没输出呢?按我的理解 ^[^a-z] 应该是   以 非小写字母开头  的
但这个结果似乎令 L  包含在了 a-z 之中?还是其他原因? 和OS有关么?



好吧,道个歉:
对于
热心版本 waker  在此贴第8楼中的回复
由于lz本人,我,过于敏感
而产生的过激言论,在此郑重道歉。

PS:透过文字传递的讯息,所看到的“情绪”,真的是一种主观影响,望大家引以为戒。
PS2:在看到waker  8楼回复的时候,其实我刚刚G&B了  LANG=C  这句,所以当时看到8楼,很有一种被误解的感觉,纯属个人主观原因。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2012-04-23 15:07 |只看该作者
LANG=C awk '.....试试

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
3 [报告]
发表于 2012-04-23 15:10 |只看该作者
更确切的说是 LC_COLLATE=C

论坛徽章:
0
4 [报告]
发表于 2012-04-23 15:15 |只看该作者
回复 2# waker

恩,加上 LANG=C 就没问题了,我去查查这个啥意思。。
   

论坛徽章:
0
5 [报告]
发表于 2012-04-23 15:18 |只看该作者
  1. $ printf "2_1.txt\nList.txt\n" | awk '/^[^a-z]/{print $0}'
  2. 2_1.txt
  3. List.txt
复制代码
我的能行呢

论坛徽章:
0
6 [报告]
发表于 2012-04-23 15:24 |只看该作者
回复 5# g_programming


    在我这边,运行结果也只有2_1.txt

LANG=C 是对shell环境变量的设置呢,不过不清楚具体的影响关系。。

论坛徽章:
0
7 [报告]
发表于 2012-04-23 15:35 |只看该作者
本地看了一下
  1. personball@vps:~$ echo $LANG
  2. en_US.UTF-8
复制代码
不知道是不是OS使用的字符编码的原因引起的

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
8 [报告]
发表于 2012-04-23 16:41 |只看该作者
回复 7# personball


  都告诉你是LC_COLLATE,不能自己G一下或B一下?

论坛徽章:
0
9 [报告]
发表于 2012-04-24 08:29 |只看该作者
回复 8# waker


    知道你懂,但不要打击人。
我已经自己查了是环境变量的原因,
由于LANG=C已经解决了我的疑问,
LC_COLLATE 估计也是设置语言相关或排序相关的东西,
我没有特地骚扰你,你觉得不耐烦,就直接忽略此贴就行了。
最后,对于之前的回答,我表示衷心感谢。

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
10 [报告]
发表于 2012-04-24 08:39 |只看该作者
personball 发表于 2012-04-24 08:29
回复 8# waker


请问你真的G了LC_LOCATTE吗?建意不要花太多心思去猜想别人的态度迟到于影响到你对问题的理解
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP