环境

 [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. python使用for循环打印9*9乘法表。

    代码如下: for a in range(1, 10): for b in range(1, 10): if b <= a: print("%d*%d=%d\t" % (b, ...

  2. django models中字段

    AutoField:一个自动递增的整型字段,添加记录时它会自动增长.你通常不需要直接使用这个字段:如果你不指定主键的话,系统会自动添加一个主键字段到你的model.(参阅自动主键字段) Boolean ...

  3. List remove ConcurrentModificationException源码分析

    代码块 Java         Exception in thread "main" java.util.ConcurrentModificationException at j ...

  4. PDA程序开发的运行配置

    前言:因为这个项目是公司一直在做的项目,所以只是简单说一下我从下载项目到成功运行的配置 开发工具:APICloud.雷神模拟器.Visusl studio vs配置: 1.svn下载后台代码后,修改w ...

  5. JAVAEE学习day06,面向对象

    1.面向对象与面向过程思想 什么时面向过程: 面向过程的每一个步骤和过程,把每一个步骤和过程完成,然后又这些功能相互调用,完成需求 强调的时过程,所有的事情都需要自己完成 什么时面向过程: 面向对象思 ...

  6. POJ 1879

    栈和队列的综合应用,利用栈和队列分别模拟分,5分,时槽,以及小球队列 利用求出一天后的置换可以求出周期,进而求出最大公约数(可以利用矩阵的角度,也许可以简化,因为每次都是乘上一个相同的置换矩阵) 要注 ...

  7. React hooks详解

    此篇文章仅是对hooks入门的总结,老鸟略过吧~ React从16.8.X以后增加了一个新特性,react hooks 让我们看看这个新特性又带来了哪些惊喜呢~以下内容我们采取不同方式创建组件来进行对 ...

  8. jmeter 性能测试基本过程及示例

    jmeter 为性能测试提供了一下特色: jmeter 可以对测试静态资源(例如 js.html 等)以及动态资源(例如 php.jsp.ajax 等等)进行性能测试jmeter 可以挖掘出系统最大能 ...

  9. 建议14:灵活使用Arguments

    Javascript支持Arguments机制.Arguments是一个为数组,可以通过数组下标形式获取该集合中传递给函数的参数值.例如:下面函数中,没有指定形参,但在函数体内通过Arguments对 ...

  10. iview admin template 基础模板架子

    https://github.com/iview/iview-admin/tree/template