linux的选取工具(grep和cut)

一般来说,选取信息通常是针对一行一行来分析的,并不是整篇信息分析。

grep命令

grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。

grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。

格式:下面只列出部分options
grep [-acdreEhilLnvwq] [-A<显示行数>] [-B<显示列数>] [PATTERN范本样式即正则表达式模式]  [文件或目录...]
grep工具的选项列表
-a将二进制文件以文本文件的方式查找数据
-c计算找到 [正则表达式模式] 的次数
-d <ACTION>

当指定要查找的是目录而非文件时,必须使用这项参数,后面还需要指定模式ACTION:read, recurse, skip

-r

对目录查找,等价于-d recurse

还可以对文件查找,上同                

-e

实现多个正则匹配的逻辑or关系,例如:

grep -e tobey -e jupy -e tom /etc/passwd查找jupy、tobey、tom字段的行

-E将样式支持变为扩展正则表达式引擎ERE来使用。grep默认仅支持基础正则表达引擎BRE。等价于egrep命令        
-F等价于fgrep命令,将一切字符视为普通字符
-i忽略大小写。不会区分大小写字符
-h

应用于多文件搜索,但不输出文件名,--no-filename

-l打印包含匹配项的文件名,而不是模式行本身。仅输出文件名
-L和-l相反,只打印不包含匹配的文件名
-n输出相应行号
-v反向选择,只选择不包含模式项的文本行
-w对词的搜索,例如bin,不会搜索sbin。--word-regexp
-q不打印匹配结果。如果有匹配的内容则立即返回状态值 0。所以grep -q一般用在shell脚本中,在 if 判断里面。例如下图所示
-A<显示行数>后面紧接数字,为after的意思,除了列出模式行外,后续的n行也列出来
-B<显示行数>

后面紧接数字,为before的意思,除了列出模式行外,前面的n行也列出来

-C<显示行数>后面紧接数字,表示除了列出模式行外,前面的n行和后面的n行也列出来
[范本样式即正则表达式模式]
正则表达式一般使用引号引起来。当shell执行展开的时候,许多正则表达式元字符,也是对shell有特殊含义。当我们在命令行中传递包含元字符的正则表达式的时候,把元字符用引号引起来至关重要,这样可以阻止shell试图展开他们。

 grep 和 egrep的区别:grep 的正则表达式是基本正则表达式(BRE),而 egrep 的正则表达式是扩展正则表达式(ERE),这两个正则表达式的区别详见linux正则表达式

grep -E = egrep
grep -F = fgrep

这三者的特点如下:

命令是否支持正则
grep支持基本正则表达式(BRE)
egrep支持扩展正则表达式(ERE)
fgrep不支持正则表达式,没有元字符没有特殊字符,都是普通字符

cut命令

cut将一段信息的某一段给他切出来,处理的信息是以行为单位。
命令语法概要: cut OPTION... [FILE]...
对命令的深层描述,该命令一定要输入明确的字节,字符、片段的选取list信息,否则出现提醒:“cut: you must specify a list of bytes, characters, or fields”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值