Мне нужно что-то заменить в нескольких файлах с помощью regex. Я делаю это вот так:Подсчитайте количество заметок, сделанных с помощью regex
#!/usr/bin/env bash
find /path/to/dir \
-type f \
-name '*.txt' \
-exec perl -e 's/replaceWhat/replaceWith/ig' -pi '{}' \; \
-print \
| awk '{count = count+1 }; END { print count " file(s) handled" }'
echo "Done!"
Этот код показывает пользователю количество файлов, в которые он имел дело. Но как я могу считать не файлы, а заменять? Каждый обработанный файл может генерировать нуль, один или несколько замещений с регулярным выражением.
Если вы решите написать весь свой код в Perl, вы можете использовать синтаксис '(?? {code})' для увеличения счетчика в замене. см. http://perldoc.perl.org/perlre.html –