Вам необходимо добавить параметр -l
в grep
, чтобы вывести соответствующие имена файлов, а затем передать ut в xargs
, чтобы обработать каждое соответствующее имя файла:
grep -ZlrF "from 'app" --include=*.js | xargs -0 sed "s:from 'app: from ':"
Используется -Z
параметр в grep
чтобы ограничить вывод с помощью символа NUL, который можно использовать с помощью xargs -0
.Это используется для того, чтобы позаботиться об именах файлов с пробелами и другими специальными символами.
Если у вас нет gnu grep
, тогда используйте find + sed
, как предложено Эд:
find . -name '*.js' -print0 | xargs -0 sed "s:from 'app: from ':"