Perl:更强大的grep命令替代方案
1. 基础正则匹配示例
在进行文本匹配操作时,正则表达式是非常强大的工具。例如,正则表达式 ^[m-y] 可以匹配以字母 m 到 y 开头的行,像 “make money fast” 和 “yet another Perl conference” 都能被匹配到。而模式 \bWin\d\d\b 则能匹配 “Win95” 和 “Win98”,但 “WinCE” (因为 “Win” 后面不是两个数字)和 “Win2000” (“Win20” 后面缺少所需的单词边界)则无法匹配。
2. 用Perl实现fgrep功能
fgrep是grep的一个变种,它用于搜索模式参数中呈现的文字字符串匹配。Perl使用 \Q...\E 元字符来实现fgrep命令的功能。例如,下面的grep、fgrep和Perl命令都将字符串 “ $9.99 Sale! ” 作为文字字符序列进行搜索,尽管该字符串包含了一些通常被grep和perl视为元字符的字符:
grep '\*\* $9\.99 Sale! \*\*' sale
fgrep '** $9.99 Sale! **' sale
perl -wnl -e '/\Q** $9.99 Sale! **\E/ and print;' sale
超级会员免费看
订阅专栏 解锁全文
57

被折叠的 条评论
为什么被折叠?



