[shell] 常用的正则表达式

发表于:2007-05-26来源:作者:点击数: 标签:
http://bbs.chinaunix.net/forum/viewtopic.php?t=190088 匹配html的嵌入代码 代码: [^]* 匹配[....]的嵌入码 代码: \[[^]]\\] 删除仅由空字符组成的行 代码: sed '/^[[:space:]]*$/d' filename 匹配html标签 代码: /\([^]*\)/ 例如:从html文件中剔除html标

http://bbs.chinaunix.net/forum/viewtopic.php?t=190088

匹配html的嵌入代码

代码:
<[^>]*>


匹配[....]的嵌入码
代码:
\[[^]]\\]


删除仅由空字符组成的行
代码:
sed '/^[[:space:]]*$/d' filename


匹配html标签
代码:
/\(<[^>]*>\)/
例如:从html文件中剔除html标签
代码:
sed 's/\(<[^>]*>\)//g;/^[[:space:]]*$/d'  file.html


例如:要从下列代码中去除"[]"及其中包括的代码
代码:
[b:4c6c2a6554][color=red:4c6c2a6554]一. 替换[/color:4c6c2a6554][/b:4c6c2a6554]
sed 's/\[[^]]\\]//g' filename


匹配日期:
代码:
Month, Day, Year [A-Z][a-z]\, [0-9]\, [0-9]\
2003-01-28 或 2003.10.18 或 2003/10/10 或 2003 10 10
\([0-9]\[ /-.][0-2][0-9][ /-.][0-3][0-9]\)

匹配IP地址
代码:
\([0-9]\\.[0-9]\\.[0-9]\\.[0-9]\\)
\(\([0-9]\\.\)\[0-9]\\)


匹配数字串
代码:
[-+]*[0-9]\ 整数
[-+]*[0-9]\\.[0-9]\  浮点数


从字串中解析出两个子串(前2各字符和后9个字符)
代码:
echo "WeLoveChinaUnix"|sed -e 'H;s/\(..\).*//;x;s/.*\(.\\)$//;x;G;s/\n/ /'
We ChinaUnix


分解日期串
代码:
echo 20030922|sed 's/\(....\)\(..\)\(..\)/ /'|read year month day
echo $year $month $day


文件内容倒序输出
代码:
sed '1!G;h;$!d'  oldfile >newfile

原文转自:http://www.ltesting.net