2015-12-15 71 views
0

我试图用正则表达式量词错误

(space)nan(space) 

(空格字符),以取代

********** 

所有出现在一个大的文本文件。图形文本编辑器不能使用,因为文本文件的大小太大。在很容易地替换这个之前,我还想知道在我的文件中出现了多少次“**********”。有什么更好的方法来做到这一点?

我想这(这很容易替换字符串),但得到了一些错误:

perl -i.bak -p -e 's{**********}{ nan }g' RayMet_140529.ray_paths 

错误:

Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE *********/ at -e line 1. 

期待一些帮助。

回答

5

*是正则表达式模式中的特殊字符。您必须将其转义才能匹配文字*字符。您也可以使用重复量词{10}以避免不得不重复该字符十次。

perl -i.bak -p -e 's/\*{10}/ nan /g' RayMet_140529.ray_paths