标签:replace linux source 三剑客 表达式
正则表达式是处理一批繁杂的数据,做到快速搜索,快速匹配,快速替换删除等功能的一种需求。常用正则表达式的命令有grep,sed,awk(三剑客)vi,egrep。其中egrep和awk还支持扩展的正则表达式。
下面先介绍一下这些命令。vi和vim在以后介绍。
grep:
-v:排除匹配内容。
-i:忽略大小写。
-o:只输出匹配内容。
-n:在行首显示行号。
-e:扩展的正则表达式(=egrep)。
--color=auto:支持颜色。
sed:输出时既输出匹配内容,还要把源内容原封不动得输出。
s: 替换。(格式 s/source string/replace string/)
g: 全局。一般与s一起用。(s/source string/replace string/g)
p: 打印。可以和sg一块使用(s/source string/replace string/gp)
w file: 保存至file文件中。
d:删除。
a: 追加。
i:在前面插入。
c: 修改。
y: 按字符转换。
-f script-file:运用script-file来运行file文件。(格式:sed -f sed.sh test.txt)
-n:静默模式输出。(只输出匹配内容)
-i: 修改源文件。
-r: 支持扩展正则。
正则表达式技术:
. :任意单个字符。
* :匹配前面的字符零次或多次。
.*:匹配任意多个字符。
[]:匹配[]内任意单个字符。
^ :匹配字符串的行首。
$ :匹配字符串的行尾。
^$:空白行。
\{m,n\}:匹配前面字符重复m-n次。
\{m,\}:匹配前面的字符重复至少m次。
\{,n\}:匹配前面的字符重复最多n次。
其中,\{\}对于扩展的正则表达式使用{}。
\(string\) 和\n :\n(使用\1,\2...\9)是string的内容。
扩展的正则表达式:
+ : 重复前面的字符一次货多次。
?:重复前面的字符零次或一次。
| : 匹配|前面或后面的字符。
():匹配正则集合。
{m,n}:重复前面的字符m-n次。
posix:[]内的字符集:
[:alpha:] 字母 [:blank:] 空格或Tab字符
[:digit:] 数字 [:upper:] 大写字母
[:punct:] 标点符号 [:lower:] 小写字母
[:space:] 空白字符 [:alnum:] 字母或数字字符
标签:replace linux source 三剑客 表达式
原文地址:http://1992521226.blog.51cto.com/7811285/1551340