Linux Shell Scripting Cookbook 读书笔记 4
正则, grep
1. 正则表达式
正则表达式 | 描述 | 示例 |
^ | 行起始标记 | ^hell匹配以hell开头的行 |
$ | 行尾标记 | test$匹配以test结尾的行 |
. | 匹配任意一个字符 | hell.匹配hell1,hell2,但是不能匹配hell12,只能匹配单个字符 |
[] | 匹配包含在[字符]之中的任意一个字符 | test[123]匹配test1,test2,test3 |
[^] | 匹配除[^字符]之外的任意一个字符 | test[^12]不匹配test1,test2,匹配test3 |
[-] | 匹配指定范围内的任意一个字符 | [0-10],匹配0~10中的任意一个数字 |
? | 匹配之前的项1次或者0次 | hel?o匹配helo或者heo |
+ | 匹配之前的项1次或者多次 | hel+o匹配helo或者helllllo,但是不能匹配heo |
* | 匹配之前的项0次或多次 | hel*o匹配helo或者helllllo,也能匹配heo |
() | 创建一个用于匹配的子串 | ma(tri)?可以匹配ma或者matri |
{n} | 匹配之前的项n次 | [0-9]{3}匹配任意一个三位数 |
{n,} | 匹配之前的项至少n次 | [0-9]{3,}匹配任意一个三位或者更多位的数 |
{n,m} | 匹配之前的项n到m次 | [0-9]{3,4}匹配一个三位到四位的数 |
| | 匹配 | 两边的任意一项 | June (1st | 2nd)匹配June 1st或者June 2nd |
\ | 转义符可将上面的符号转义 | a\*b匹配a*b,不能匹配ab |
2. grep
递归搜索
grep "text" . -R -n
-R 表示在当前目录递归搜索,-n打印出匹配的文件的行号
如果需要排除目录,可以使用--exclude-dir
打印出匹配行的前后行
多个匹配以--分隔
Linux Shell Scripting Cookbook 读书笔记 4的更多相关文章
- Linux Shell Scripting Cookbook 读书笔记 1
本系列文章为<Linux Shell Scripting Cookbook>的读书笔记,只记录了我觉得工作中有用,而我还不是很熟练的命令 书是很好的书,有许多命令由于我比较熟悉,可能就没有 ...
- Linux Shell Scripting Cookbook 读书笔记 2
cat,script,find, xargs, tr, tmp文件,字符串截取,批量文件重命名,固定大小文件,自动化交互 1. cat的用法 压缩连续的空白行 cat -s file 也可以用tr,将 ...
- Linux Shell Scripting Cookbook 读书笔记 7
ping, du, ps, kill, 收集系统信息 判断网络中哪些主机是活动主机 #!/bin/bash for ip in 10.215.70.{1..255}; do ( ping $ip -c ...
- Linux Shell Scripting Cookbook 读书笔记 6
wget,curl, tar, rsync wget ftp://example.com/somefile.img -t 5 -O download.img -o log -t表示重试的次数 -O指定 ...
- Linux Shell Scripting Cookbook 读书笔记 5
sed,awk 1. sed (string editor) 使用-i可以将结果运用于原文件 sed 's/text1/text2/' file > newfile mv newfile fil ...
- Linux Shell Scripting Cookbook 读书笔记 3
patch, tree, head ,tail 1. 创建不可修改文件 chattr +i file chattr -i file 移除不可修改属性 2. 能够启动闪存或硬盘的混合ISO isohyb ...
- 《The Linux Command Line》 读书笔记02 关于命令的命令
<The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...
- 《The Linux Command Line》 读书笔记01 基本命令介绍
<The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...
- 《Linux内核分析》读书笔记(四章)
<Linux内核分析>读书笔记(四章) 标签(空格分隔): 20135328陈都 第四章 进程调度 调度程序负责决定将哪个进程投入运行,何时运行以及运行多长时间,进程调度程序可看做在可运行 ...
随机推荐
- 水仙花数------"水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。(for循环的嵌套)
package com.zuoye.test;//打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,//其各位数字立方和等于该数本身.//例如: ...
- 【Oracle】进入sqlplus 删除键backspace时出现^H
当oracle进入sqlplus后,输入命令时候出现错误,我们按平时的习惯使用backspace键删除错误信息,此时会出现^H 解决办法:进入sqlplus之前,使用stty erase '^H'命令 ...
- C# 获取所有网卡信息
private void Form1_Load(object sender, EventArgs e) { //获取说有网卡信息 NetworkInterface[] nics = NetworkIn ...
- 说说web缓存-强缓存、协商缓存
网上关于WEB缓存的文章很多,今天汇总一下. 为什么要用缓存 一般针对静态资源如CSS,JS,图片等使用缓存,原因如下: 请求更快:通过将内容缓存在本地浏览器或距离最近的缓存服务器(如CDN),在不影 ...
- sqlserver where in 在 mysql
) tmp); 主句(select * from (从句 temp) sql的 where in 删除 要更改为 // in( select * from ((select idfrom twhe ...
- BZOJ 1572: [Usaco2009 Open]工作安排Job 贪心 + 堆 + 反悔
Description Farmer John想修理牧场栅栏的某些小段.为此,他需要N(1<=N<=20,000)块特定长度的木板,第i块木板的长度为Li(1<=Li<=50, ...
- [BZOJ5072] 小A的树
设计状态\(f[i][j]\)表示以i为根的子树,包含j个点的最小黑点数,\(g[i][j]\)表示以\(i\) 为子树,包含\(j\)个点的最大黑点数,然后树形背包转移即可. 每次询问的时候就看包含 ...
- 如何快速从数据库获取表属性编写JavaBean
以前自己对子设计好的数据库将数据库中的表转换为JavaBean,自己还一个一个慢慢打效率真是低,还是老师比较聪明学习学习. 我用的数据库可视化工具是Navicat Premium.UltraEdit( ...
- 14.Idea在html里面的快捷键
1.IntelliJ-Idea里常用的快捷键 Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/*…*/ ) Shift+F6 重构-重命名 Ctrl+X 删除行 Ctrl+D 复制行 C ...
- base64模块 简单了解
base64,字符串文本编码解码,方便数据进行传输 import base64 '''编码解码''' st = 'ni hao'.encode('utf8') result = base64.b64e ...