文本搜索神器grep

目录

grep介绍

grep语法

准备工作

 示例

正则匹配

实验任务

在命令后添加"> 文件名"将内容输出到文件中。

任务一:

任务二:

任务三:


  • grep介绍

Linux中的grep命令是强大的文本搜索工具,使用正则表达式搜索文本,并将匹配到的行打印出来

  • grep语法

grep [-acinv] [--color=auto] 搜寻内容 目标文本文件

选项与参数

  • -a 将二进制文件当作文本文件搜索

  • -c 统计搜索到的次数

  • -i 忽略大小写

  • -n 输出行号

  • -v 输出没有搜索到内容的行

  • --color=auto 找到的搜索内容上加颜色

  • 准备工作

打开终端窗口,依次输入以下命令:
$ cd base
$ mkdir text-grep
在当前目录下新建文件夹text-grep,作为本实验的工作目录。
再将file.txt和longfile.txt复制到工作目录:
$ cp file.txt longfile.txt text-grep
$ cd text-grep

  •  示例

#在longfile.txt搜索含有“梦”的句子并输出行号:
$ grep -n 梦 longfile.txt
1:——此开卷第一回也。作者自云:曾历过一番梦幻之后,故将真事隐去,而借
11:中间用“梦”“幻”等字,却是此书本旨,兼寓提醒阅者之意。
91:定睛看时,只见烈日炎炎,芭蕉冉冉,梦中之事便忘了一半。又见奶母抱了英莲  

#反向查找,在longfile.txt中搜索不含"日"的句子并输出行号:
$ grep -nv 日 longfile.txt
1:——此开卷第一回也。作者自云:曾历过一番梦幻之后,故将真事隐去,而借
2:通灵说此《石头记》一书也,故曰“甄士隐”云云。但书中所记何事何人?自己又
4:见识皆出我之上。我堂堂须眉诚不若彼裙钗,我实愧则有馀,悔又无益,大无可如
7:告天下;知我之负罪固多,然闺阁中历历有人,万不可因我之不肖,自护己短,一
........................省略.................................  

  • 正则匹配

正则匹配规则

  • ^ 以此开头的行获得匹配

  • $ 以此结尾的行获得匹配

  • \< 匹配包含以此开头的单词的行

  • \> 匹配包含以此结尾的单词的行

  • [ ] 单个字符;如[A] 即A符合要求

  • [ - ] 范围 ;如[A-Z]即A-Z之间有一个匹配的

  • . 所有的单个字符

  • ?          匹配0到1次。

  • *          匹配0到多次。

  • +         匹配1到多次。

  • {n}       匹配n次。

  • {n,}      匹配n到多次。

  • {n,m}      匹配n到m次。

  • \ 忽略正则表达式中特殊字符的原有含义

示例

$ grep -n [a-g] file.txt
2:Windows
3:Mac OS  

$ grep ^W file.txt
Windows  

  • 实验任务

在命令后添加"> 文件名"将内容输出到文件中。

任务一:

输出longfile.txt所有包含"石头"的行并输出行号,输出到文件grep_1.txt(40分)。

 grep -n 石头 longfile.txt > grep_1.txt

任务二:

统计longfile.txt中"作者"出现的次数,输出到文件grep_2.txt(30分)。

grep -c 作者 longfile.txt > grep_2.txt

任务三:

统计file.txt所有包含以OS结尾的单词的行,输出到文件grep_3.txt(30分)。

grep 'OS\>' file.txt > grep_3.txt  

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值