>[success] # 在文件当中匹配符合条件的字符串
1. `grep`命令 在文件当中**搜索符合条件的字符串**,**会对文件的每一行按照给定的模式(pattern)进行匹配查找(可以使用正则)**
2. `grep [-n] 关键字 文件路径`
* 选项`-n`,可选,表示在结果中显示匹配的行的行号
* 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用""将关键字包围起来
* 参数,文件路径,必填,表示要过滤内容的文件路径,**可作为内容输入端口**(查看管道章节)
>[danger] ##### 参数
1. `-i` 忽略大小写
2. `-v` 排除指定字符串
3. `-c` 只输出匹配行的计数(统计个数)。
4. `-n` 显示匹配行及行号。
5. `-w` 显示整个单词(模糊搜索时候)
6. `-r` 递归查询
>[danger] ##### 使用
1. `grep "b" a.txt` -- 找到a.txt 中b 类似在浏览器使用ctrl+f
2. `grep -v "b" a.txt`
3. `grep "-i" f a.txt`
| 元字符 | 作用 | 示例 |
| --- | --- | --- |
| \* | 前一个字符匹配 0 次或任意多次 | grep 1\* reg.txt |
| . | 匹配除换行符外的任意一个字符 | grep . reg.txt |
| ^ | 匹配行首。例如,^hello 会匹配以 hello 开头的行 | grep ^a reg.txt |
| $ | 匹配行尾。例如,hello& 会匹配以 hello 结尾的行 | grep a$ reg.txt |
| \[\] | 匹配屮柄号屮指定的任意一个字符,而且只匹配一个字符。 例如.\[aoeiu\]匹配任意一个元音字母, \[0-9\] 匹配任意一位数字, \[a-z\]\[0-9\] 匹配由小写字母和一位数字构成的两位字符 | grep ab\[bc\]c reg.txt |
| \[^\] | 匹配除中括号中的字符以外的任意一个字符。例如,\[^0-9\] 匹配任意一位非数字字符, \[^a-z\] 匹配任意一位非小写字母 | grep a\[^fg\]c reg.txt |
| \\ | 转义符,用于取消特殊符号的含义 | grep \\.$ reg.txt |
| {n} | 表示其前面的字符恰好出现 n 次。例如,\[0-9\]{4} 匹配4位数字,\[1\]\[3-8\]\[0-9\]{9} 匹配手机号码 | grep "a{1}" reg.txt |
| (n,} | 表示其前面的字符出现不少于 n 次。例如,\[0-9\]{2,} 匹配两位及以上的数字 | grep "a{1,}" reg.txt |
| {n,m} | 表示其前面的字符至少出现 n 次,最多出现 m 次。例如,\[a-z\]{6,8} 匹配 6〜8 位的小写字母 | grep "a{2,3}" reg.txt |
- 安装-VMware 虚拟机
- 远程连接
- Windows -- wsl
- Linux -- 认识 Linux 和操作系统
- Linux -- Linux 和 windows 对比
- Linux -- 命令提示符
- Linux -- 文件目录
- Linux -- 文件类型
- Linux -- 绝对和相对路径
- Linux -- 常用快捷键
- Linux -- 三种帮助命令
- 帮助命令 -- man
- 帮助命令 -- help
- 帮助命令 -- info
- Linux -- 指令
- alias -- 设置别名
- history -- 查看历史命令
- cd -- 更改目录(切换文件夹)
- pwd -- 打印目录
- ls -- 列出文件内容
- mkdir -- 创建文件夹
- rmdir -- 删除一个空的目录
- touch -- 创建普通文件/修改时间
- cp -- 复制粘贴
- mv -- 移动和重名
- rm -- 删除
- cat/tac -- 查看纯文本文件
- more/less -- 分页读取信息
- head -- 从文本开头查看
- tail -- 从文本结尾查看
- cut -- 提取片段
- sort -- 排序
- uniq -- 去重
- wc -- 统计文件的行数、单词、字节数
- tr -- 替换、缩减或删除字符
- find -- 文件查找
- grep -- 文件当中匹配字符
- 管道 -- |
- locate -- 第三方文件查找
- whereis -- 查找二进制/源代码文件 路径
- which -- 查找环境变量
- 压缩和解压
- ln -- 链接
- wget -- 下载指定的url资源
- 重定向 -- << /< />/> >
- 逻辑控制 -- &&
- echo -- 输出指定内容
- date/cal -- 查看日期和日历
- Linux -- 进程管理
- Linux-- ps 指令
- vi/vim - 文本编辑器
- 更多
- Linux-- 开关机命令
- Liunx -- 退出登录
- Linux-- 查看登录用户信息
- Linux -- 环境变量
- Linux -- 用户
- Linux -- 文件管理
- 文件权限设置 -- chmod
- 更改文件的拥有者 -- chown
- 默认权限 -- umask
- Linux -- 用户
- 新建/删除用户 -- useradd/userdel
- 修改用户属性 -- usermod/chage
- 新建/删除用户组 -- groupadd/groupdel
- 用户切换 -- su/sudo
- 用户/用户组的配置文件
- 用户家目录被删除解决
- last、 lastlog命令查看用户详细的登录信息
- Linux -- shell
- Linux -- 管道符号
- shell -- 执行
- shell -- 变量
- shell -- 字符串
- shell -- 数组
- Shell -- declare 设置变量属性
- shell -- 数学计算
- shell -- 变量作用域
- shell -- 位置参数变量
- shell -- read
- shell - if 语句
- shell -- test
- shell -- case
- Linux -- 循环
- Linux -- 软件包管理