环境

 [root@osker ~]# cat /etc/redhat-release
CentOS Linux release 7.6. (Core)
[root@osker ~]# uname -r
3.10.-.el7.x86_64
1 [root@osker ~]# cat 3.txt
2 Mike Harrington:[510] 548-1278:250:100:175
3 Christian Dobbins:[408] 538-2358:155:90:201
4 tom
5 Chet Main:[510] 548-5258:50:95:135
6 Tom Savage:[408] 926-3456:250:168:

文档中有tom和Tom两个关键词

vim
:set ic   (ignorecase 的缩写)忽略大小写
:set noic  (noignorecase 的缩写)不忽略大小写

grep
查询man帮助可以找到,使用-i参数可以忽略大小。
-i, --ignore-case:Ignore case distinctions in both the PATTERN and the input files.  (-i is specified by POSIX.)

 [root@osker ~]# grep -i 'tom' .txt
tom
Tom Savage:[] -:::

sed

 [root@osker ~]# sed -n '/tom/Ip' .txt
tom
Tom Savage:[] -:::
[root@osker ~]# sed -n '/tom/ip' .txt
p

可以看出在/后加入 I 可以忽略大小写过滤,使用i会出错。

 [root@osker ~]# sed -n 's#tom#qiu#gp' .txt
qiu
[root@osker ~]# sed -n 's#tom#qiu#gpi' .txt
qiu
qiu Savage:[] -:::
[root@osker ~]# sed -n 's#tom#qiu#gpI' .txt
qiu
qiu Savage:[] -:::

在使用替换功能时候可以时用i或者I,对需要替换的词忽略大小写。
在GNU找了好久,找到这么一段话:
i I :The I modifier to regular-expression matching is a GNU extension which makes sed match regexp in a case-insensitive manner.
引用链接:
https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html#The-_0022s_0022-Command

awk

 [root@osker ~]# awk '/tom/' IGNORECASE= .txt
tom
Tom Savage:[] -:::

查看man帮助可以查询到,awk内置了一个IGNORECASE变量,专门用于处理大小写的忽略。当IGNORECASE的值为真时,则进行忽略大写的匹配。
IGNORECASE:
Controls the case-sensitivity of all regular expression and string operations.  If IGNORECASE has a non-zero value, then string comparisons and pattern matching in rules, field splitting with FS and FPAT, record separating with RS, regular expression matching with ~ and  !~,  and  the  gensub(),  gsub(),  index(),  match(),  patsplit(),  split(),  and  sub()  built-in  functions  all  ignore  case when doing regular expression operations.  NOTE: Array subscripting is not affected.  However, the asort() and asorti() functions are affected.
Thus, if IGNORECASE is not equal to zero, /aB/ matches all of the strings "ab", "aB", "Ab", and "AB".  As with all AWK variables, the initial value of IGNORECASE is zero, so all regular expression and string operations are normally case-sensitive.

vim grep sed awk对大小写不敏感的更多相关文章

  1. Linux三剑客grep/sed/awk

    grep/sed/awk被称为linux的“三剑客” grep更适合单纯的查找或匹配文本: sed更适合编辑匹配到的文本: awk更适合格式化文本,对文本进行较复杂各式处理: Grep --color ...

  2. linux三剑客grep|sed|awk实践

    最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk

  3. 【shell脚本练习】grep sed awk

    下面是简单学习之后做得练习题,如果有不对的或者说解题思路不好的,请交流啊. Grep 练习 文件名grepfile Steve Blenheim:238-923-7366:95 Latham Lane ...

  4. Shell学习:grep, sed, awk命令的练习题

    http://www.cnblogs.com/chengmo/archive/2013/01/17/2865479.html 文件:datafileSteve Blenheim:238-923-736 ...

  5. 【Linux】 字符串和文本处理工具 grep & sed & awk

    Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...

  6. [svc]linux正则实战(grep/sed/awk)

    企业实战: 过滤ip 过滤出第二行的 192.168.2.11. eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 ine ...

  7. Linux基础命令-Nginx-正则表达式( grep sed awk )-Shell Script--etc

    Linux基础使用 学习内容博客 内存 查看swap分区信息 > swapon -s 添加swap分区 > mkswap /dev/sdb2 > 激活 swapon -a /dev/ ...

  8. linux grep,sed,awk和diff的使用

    1:grep//显示行 # grep 'main' /home/myhome/a.c//将a.c含有main的行显示出来 # grep -v 'main' /home/myhome/a.c //显示除 ...

  9. grep sed awk 3个Linux中对文件内容操作的命令

    在学习Linux命令中,发现3个有关于文件内容操作的命令grep,sed和awk,在这里简单汇总这3个命令主要作用,在实际中找到最合适的情景应用,详细用法可以参考其他文章. 1.grep命令 主要作用 ...

随机推荐

  1. 一套代码同时支持.NET Framework和.NET Core

    转自:https://www.cnblogs.com/tianqing/p/11614303.html 在.NET Core的迁移过程中,我们将原有的.NET Framework代码迁移到.NET C ...

  2. 1,Linux(CentOS)中的基本配置

    1,hostname(主机名) 查看主机名:hostname 临时修改主机名:hostname hadoop1 永久修改主机名:vi etc/sysconfig/network :  [NETWORK ...

  3. JavaMail(一):利用JavaMail发送简单邮件

    JavaMail,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.但它并没有包含在JDK中,要使用JavaMail首先要下载ja ...

  4. 吐血干货,直播首屏耗时400ms以下的优化实践

    导读: 直播行业的竞争越来越激烈,进过18年这波洗牌后,已经度过了蛮荒暴力期,剩下的都是在不断追求体验.最近在帮做直播优化首开,通过多种方案并行,把首开降到500ms以下,希望能对大家有借鉴. 背景: ...

  5. python 2 和3 的区别

    python 2 和3 的区别 Python2 Python3 打印 print " " print() 输入 raw_input() input() 范围 range/xrang ...

  6. watch 同步表单 记得$nextTick,否则不会同步更新到组件内

    watch 同步表单 记得$nextTick,否则不会同步更新到组件内 watch: { 'formData.aaa' (val) { this.$nextTick(() => { this.f ...

  7. React && ReactDOM

    如果你是 React 的初学者,一定会对 React 和 ReactDOM 感到迷惑.为什么要分成两个包呢?害得我还要引入两次,说好的减轻开发人员负担呢,这丫的在搞什么飞机.带着这个疑问,我们一起来康 ...

  8. 单例模式和配置admin

    单例模式和配置admin   单例模式的概念 单例模式主要目的是确保某一个类只有一个实例存在.比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信 ...

  9. MySQl数据类型和条件限制

    数据库的增删改查已经介绍完毕,今天从表的详细操作开始讲解 表操作 今日内容 1.数据类型 建表的时候,字段都有对应的数据类型 整型 浮点型 字符类型(char与varchar) 日期类型 枚举与集合 ...

  10. python爬取某站新闻,并分析最近新闻关键词

    在爬取某站时并做简单分析时,遇到如下问题和大家分享,避免犯错: 一丶网站的path为 /info/1013/13930.htm ,其中13930为不同新闻的 ID 值,但是这个数虽然为升序,但是没有任 ...