删除以a开头的行
1、sed -i '/^a.*/d' temp.txt
-i 表示操作在源文件上生效.否则操作内存中数据,并不写入文件中.在分号内的/d表示删除匹配的行
2、 删除文件第三行。
sed -i '3d' file.txt
3、 删除文件中包含"NewBalance"的那行。
sed -i '/NewBalance/d' file.txt
替换匹配行:
sed -i '^a.*/haha/g' temp.txt
分号内的s/表示替换/g表示全局替换
^ 表示以a开头的行匹配,行前面有空格则不匹配
去掉^号,表示整行匹配
[abc] | 匹配中括号中的单个字符,如a或b或c |
[^abc] | 匹配除了a、b、c等字符的其他单个字符 |
[a-z] | 匹配一个字符范围,如a到z |
[a-zA-Z] | 匹配一个字符范围,如a-z 或 A-Z |
^ | 匹配行的开始 |
$ | 匹配行的结束 |
\A | 匹配一个字符串的开始 |
\z | 匹配一个字符串的结束 |
. | 匹配任意单个字符 |
\s | 匹配空白字符,如空格,TAB |
\S | 匹配非空白字符 |
\d | 匹配一个数字 |
\D | 匹配非数字 |
\w | 匹配一个字母 |
\W | 匹配非字母 |
\b | 匹配字符边界 |
(...) | 引用所有括号中的内容 |
(a|b) | a或者b |
a? | 零个或1个a |
a* | 零个或多个a |
a+ | 1个或多个a |
a{3} | 3次重复的a |
a{3,} | 3次或3次以上重复的a |
a{3,6} | 3到6次重复的a |
修正符 | |
/g | 查找所有可能的匹配 |
/i | 不区分大小写 |
/m | 多行匹配 |
/s | 单行匹配 |
/x | 忽略空白模式 |
/e | 可执行模式,PHP专有 |
/A | 强制从目标字符串开头匹配 |
/D | 使用$限制结尾字符,则不允许结尾有换行 |
/U | 只匹配最近的一个字符串;不重复匹配 |