正则表达式是什么?
是处理字符串的方法,它以行为单位来进行字符串的处理操作,正则表达式通过一些特殊符号的辅助,可以让用户轻易地完成【查找、删除、替换】某特定字符串的处理过程。
简单的来说,就是通过指定格式筛选出符合要求的内容,然后进行删除或替换。
正则表达式的特殊符号
之前有记录过 grep 命令的参数,现在有新增-A和-B两个选项
grep [-nviauAB] [filename or stdin]
-n 显示行号
-v 取反
-i 忽略大小写
-a 在二进制文件中以纯文本的形式匹配
-u unique,只列出唯一一个
-A n 同时列出该行外后n行
-B n 同时列出该行外前n行
sed工具
sed [-infe] [操作]
-i 直接修改读取的文件内容,而不是输出到屏幕上
-n 只打印匹配到的行
-e 在命令行模式上进行sed操作编辑
-f 将sed命令新到filename,然后执行filename内的sed操作
n1,n2 :一般代表行号
function:
a append 新增
i insert 插入
d delete 删除
c 替换,后面接替换的字符
s 替换 1,20s/old/new/g
p 打印
注意:
1、删除空白行的操作:sed '/^$/d'
2、如果需要执行多少次sed操作,可以在sed -e 'first option' -e ‘second option’
在2行后插入aaa
cat test.file | sed '2i aaa'
直接修改内容(危险)
sed -i 's/\.$/\!/g' test.file