工作日志
时间:2006-01-26 来源:xwq_007
常规表示法 .* ^ $ [] { } - \都有点眉目了。
* 在常规表示法里代表的是:『擁有空字元或一個 o 以上的字元』
在萬用字元當中,* 代表的是 0 ~ 無限多個字元的意思,但是在正規表示法當中, * 則是重複 0 到多個的前一個 RE 字符的意思~使用的意義並不相同。
^ 表示行首,在[^]里表示取反。在万能字符里用" ! " 表示取反。
{} 表示范围,因为{} 有特殊的意义,必须用 \跳开。
列: grep -n 'a\{2\}' /etc/man.config
grep -n 'a\{2,5\}' /etc/man.config
vi cut grep awk sed 等工具都支持常规表示法。
对延伸常规表示的理解.
指令egrep grep -e
| 竖杠 表示是或的意思。
例: egrep -vn '^#|^$' /etc/man.config
? 表示‘0个或一个‘前一个RE字符
例: egrep -n 'ma?' /etc/man.config
+ 表示‘一个或一个以上’的前一个RE字符。
() 搜索“群组”字串。
echo 'AxyzxyzxyzxyzC' | egrep 'A(xyz)+C'
上面的例子當中,意思是說,我要找開頭是 A 結尾是 C ,中間有一個以上的 "xyz" 字串的意思~(引用鸟哥的例子) ifconfig eth0 | grep 'inet ' | sed 's/^.*addr://g' | \
> sed 's/Bcast.*$//g'
上面的例子當中,意思是說,我要找開頭是 A 結尾是 C ,中間有一個以上的 "xyz" 字串的意思~(引用鸟哥的例子) ifconfig eth0 | grep 'inet ' | sed 's/^.*addr://g' | \
> sed 's/Bcast.*$//g'
这句太神了,到现在没明白怎么弄的。
相关阅读 更多 +
排行榜 更多 +