提交 3b632c35 编写于 作者: F feilong

增加grep

上级 eb220109
{
"node_id": "gml-66baba204f5042a79ebc82bc2a26ae32",
"keywords": [],
"keywords_must": ["Linux命令"],
"keywords_forbid": [],
"children": [],
"export": [
"exercise_01.json"
]
}
\ No newline at end of file
{
"type": "code_options",
"author": "幻灰龙",
"source": "exercise_01.md",
"notebook_enable": false,
"depends": []
}
\ No newline at end of file
# 实用Linux命令掌握20%:grep
Linux 命令很多,掌握最实用的一批命令,对于每个实用命令,又只需掌握20%最高频操作。
**本节知识**
假设文件`1.txt`的文本如下(可以利用`touch`命令和`vi`命令组合创建):
```bash
1. hello world
2. wold hello
3. nothing is important
4. i like movie movie
hello world
wold hello
nothing is important
i like movie movie
```
`grep` 命令用来查找文本,这里是最常用的几个操作例子:
* 查找文件`1.txt`中含有`"hello"`字符串的行:`grep hello 1.txt`
* 使用正则表达式查找文件`1.txt`中含有数字的行:`grep -E "\d." 1.txt`
* 查找文件`1.txt`中不包含`"hello"`字符串的行:`grep -v hello 1.txt`
* 查找文件`1.txt`中含有`"movie"`字符串的行以及它前面的3行:`grep movie -B 3 1.xt`
* 查找文件`1.txt`中含有`"movie"`字符串的行以及它后面的3行:`grep movie -A 3 1.xt`
* 查找文件`1.txt`中含有`"4."`字符串的行以及它前后3行:`grep 4. -C 3 1.txt`
**本节任务**
1. 请在[线上Linux环境](https://edu.csdn.net/lab/36675?targetLesson=2692)里练习上述`grep`命令。
2. 以下对命令`grep`描述错误的是?
## 答案
```bash
`grep`命令不能对文件夹递归查找,例如
`grep "text" . -r -n`
```
## 选项
### A
```bash
如果要查找包含某个字符串的行的前后3行
可以使用 `grep -C 3 xxx.log` 命令
C 表示 center
```
### B
```bash
`grep`命令的匹配参数默认是普通的通配符
`grep`命令的通过`-E`选项来指定正则表达式匹配
```
### C
```bash
`grep`命令可以通过通配符查找多个文件,例如`grep hello *.txt`
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册