Вы можете попробовать в следующем формате
Синтаксис :
grep -rl matchstring somedir/ | xargs sed -i 's/string1/string2/g'
Пример будет:
grep -rl 'windows' ./ | xargs sed -i 's/windows/linux/g'
Это будет искать строку windows
во всех файлах относительно текущего каталога и заменять «windows» на linux
для каждого вхождения строки в каждом файле.
Дополнительное примечание из комментария : Разделитель прямой косой черты '/' в аргументе sed также может быть другим разделителем (например, символом «|»). Разделитель канала может быть полезен при поиске во многих HTML-файлах, если вы не хотите экранировать косую черту.
В дополнение к этому вы можете попробовать кев метод
cd /path/to/your/folder
sed -i 's/foo/bar/g' *
Появления "foo" будут заменены на "bar".