shell三剑客之grep

学习的内容来自于Linux Shell脚本攻略(2)

内容只做了简单的记录,方便自己学习

shell 命令查询地址:http://man.linuxde.net/

Grep

在shell中grep担当的责任是搜索文本,他只针对于文本,而不是其他的内容

1)搜索包含特定模式的文本行

grep pattern filename

或者

grep "pattern" filename

1533104555486.png

2)也可以从stdin中读取


1533105073385.png

3)单个grep也可以对多个文件执行

1533105287235.png

4)使用--color选项可以输出行中着重标记出匹配到的单词


1533105498883.png

5)配合正则进行匹配 需要-E或者egrep

1533105606562.png

6)只输出文本中匹配的文字

1533105658751.png

7)对6进行反转 打印出没有匹配到的内容

1533105786123.png

8)统计打印的行数,这里就会发现grep搜索的模式是以行来计数的


1533106176232.png

如果要统计个数的话,可以使用wc -l

1533106664820.png

先按照列输出匹配到的内容,再统计列数

-o 为统计列数

wc -l根据列数显示总列数

7)打印出列数

1533106727888.png

8)打印模式匹配所位于的字符和字节偏移


1533106817282.png

9)搜索多个文件并找出匹配文本位于哪一个文件中:

grep -l linux test1.txt test2.txt

-L 返回一个不匹配文本列表

10)指定目录 . 忽略大小写 -i

  1. 匹配多种样式 grep -e "pattern1" -e "pattern2"

也可以使用先指定一个匹配样式文件 用-f 匹配 grep -f filename

Cut

如果说grep是横向的切,那么cut就是纵向的切

cut -f 1,2 filename

切取 1 2两列

cut -f 1,2 --complement filename

切取除了1和2列以外的内容。

cut -d "xxx" filename 指定字段的定界符


1533107996453.png
1533108008329.png

特殊记法

在cut的使用种,我们可以使用下面几个字段指定为某个范围内的字节或字符

-b 表示字节

-c 表示字符

-f 用于定义字段

记法 N表示数字

N- 从第N个字符开始,字符或字段到行尾

N-M 从第N个字节,字符或字段到第M个(包括第M个在内)字节、字符或字段

-M 第1个字节,字符或字段到第M个(包括M在内的)字节、字符或字段


1533108522567.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 13,276评论 2 33
  • 第1章 小试牛刀 $ 是普通用户,# 表示管理员用户 root。 shebang:#!。sharp / hash ...
    巴喬書摘阅读 6,680评论 1 4
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,724评论 0 5
  • 在“无戒21天坚持写作训练营”课程中,无戒老师除了帮助我们系统性地建立写作的正确观念,更是循序渐进指导我们如何从写...
    墨语花开时阅读 402评论 2 5
  • 1明确目标:写作之前想想写此文的目的是什么?例如写活动新闻稿,写作的主要目是为了让读者了解活动的参与者、活动内容和...
    可燃冰coins阅读 146评论 0 0

友情链接更多精彩内容