机械行业网站建设制作开发方案,湖南专业的关键词优化,网页链接打不开怎么办,手机网站用什么软件做的好处Shell中使用正则表达式处理文本的命令有如下工具#xff1a;
命令描述grep默认不支持扩展表达式#xff0c;加-E选项开启ERE。如果不加-E#xff0c;此时使用花括号时要加转义符#xff1a;\{\}egrep支持基础和扩展表达式awk支持基础和扩展表达式sed默认不支持扩展表达式
命令描述grep默认不支持扩展表达式加-E选项开启ERE。如果不加-E此时使用花括号时要加转义符\{\}egrep支持基础和扩展表达式awk支持基础和扩展表达式sed默认不支持扩展表达式加-r选项开启ERE。如果不加-r此时使用花括号时要加转义符\{\}
注-E 选项为扩展的正则表达式支持、、|、()
. 匹配除换行符\n之外的任意单个字符
echo -e 123\n456 | grep 1.3 # 显示 123^ 匹配以xxx字符(串)开头所在的行
echo -e abc\nxyz | grep ^ab # 显示 abc$ 匹配以xxx字符(串)结尾所在的行
echo -e abc\nxyz | grep z$ # 显示 xyz* 匹配前一个字符0个或多个
echo -e x\nxo\nxoo\no\noo |grep xo* # 显示 x/xo/xoo匹配前一个字符1个或多个
# grep -E 该选项为拓展的正则表达式支持 | 和 ()
echo -e abc\nabbc\nac | grep -E abc # 显示 abc/abbc? 匹配前一个字符0个或1个
echo -e abc/abbc/ac | grep -E ab?c # 显示 abc/ac[ ] 匹配中括号中的任意一个字符
echo -e abd\ncdf\nghj | grep [ac] # 显示 abd/cdf[.-.] 匹配中括号中范围内的任意一个字符
echo -e abc\nxyz | grep [a-z] # 显示 abc/xyz[^.] 匹配非中括号中字符串之外的任意一个字符串
echo -e a\nb\nc | grep [^a] # 显示 b/c^[^.] 匹配以非中括号中字符串开头的行
echo -e abc\nxyz | grep ^[^a] # 显示 xyz{n,}或{n} 匹配前面的字符至少 n次
echo -e abc\nabcc\nabccc\nabcccc | grep -E c{2} # 显示 abcc/abccc/abcccc{n,m} 匹配前面的字符至少 n次至多m次
# -w 只选择与整个单词相匹配的行
# 注意m与前面的逗号之间没有空格
echo -e abc\nabcc\nabccc\nabcccc | grep -E -w abc{2,3} # 显示 abcc/abccc\ 边界符匹配行的开始
# 匹配以ab开始的行
echo -e abc\nabcc\ncab | grep -E \ab # 显示 abc/abcc\ 边界符匹配行的结尾
# 匹配以ab结束的行
echo -e abc\nabcc\ncab | grep -E bc\ # 显示 abc| 匹配竖杠两边两个字符中的任意一个
echo -e a\nb\nc | grep -E b|c # 显示 b/c\ 转义符将特殊符号转成字面意义上的字符
echo -e 1.2 | grep -E 1\.2 # 显示 1.2Posix字符
Posix字符描述[:alnum:]等效于[a-zA-Z0-9][:alpha:]等效于[a-zA-Z][:lower:]等效于[a-z][:upper:]等效于[A-Z][:digit:]等效于[0-9][:lower:]等效于[a-z][:space:]匹配任意空白字符等效于[\t\n\f\v][:graph:]非空白字符[:blank:]空格与定位字符[:contrl:]控制字符[:print:]可显示的字符[:punct:]标点符号字符[:xdigit:]十六进制示例echo -e 123\n1234a | grep [[:digit:]] # 匹配所有包含数字的行
支持的特殊字符描述\w匹配任意数字和字母 等效于[a-zA-Z0-9_]\W与\w相反等效于[^a-zA-Z0-9_]\b匹配字符串开始或结束等效于\和\\s匹配任意的空白字符\S匹配任意的非空白字符示例echo -e Hello\n123 | grep \w # 匹配Hello和123
空白符描述\n换行符\r回车符\t水平制表符\v垂直制表符\0空值符\b退格符
参考《Shell入门到精通》作者李振良