при исправлении массовых орфографических ошибок в моей кодовой базе я использовал это:
find . -path '*/.svn' -prune -o -name "*min.js" -prune -o -name "*min.css" -prune -o -name "flashLocaleXml.xml" -prune -o -type f -print0 | xargs -0 egrep -n "priority=" -exec sed -i 's/replace/newval/' {} \;
, чтобы исправить конкретную орфографическую ошибку во всех файлах в моем репо.
однако яне очень хорошо с захватом sed, я хочу сделать что-то вроде:
X.addEventListener(LevelUpEvent.GENERIC_LEVEL_UP, updateLevels);
становится:
EventUtil.addEventListener(X, LevelUpEvent.GENERIC_LEVEL_UP, updateLevels)
;
Я много читал, но я был бы признателенкто-то объясняет, как sed захватывает работу с этим в качестве конкретного примера.
Я сделал несколько снимков, но ничего, что я придумаю, работает: вот мои попытки
echo "X.addEventListener(LevelUpEvent.GENERIC_LEVEL_UP, updateLevels);" | sed 's/\(.*\)EventUtil\(.*EventUtil\)/\1X\2/'
echo "X.addEventListener(LevelUpEvent.GENERIC_LEVEL_UP, updateLevels);" | sed -r 's/(....),(....),(*\.addEventListener)(LevelUpEvent.*)/\1,\2\n\1,\2,/g'
echo "X.addEventListener(LevelUpEvent.GENERIC_LEVEL_UP, updateLevels);" | sed 's/\([\.$]*\) \([\.$]*\)/\2 \1/'
спасибозаранее!