2015-12-15 3 views
0

Я пытаюсь заменить все вхожденияRegex ошибка квантор

********** 

в большом текстовом файле с

(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 
Смежные вопросы