Когда я печатаю
grep -r string1 folder/ | cut -d ":" -f1 | sed -i -e 's/string1/string2/'
это сказать
sed: no imput files
но
grep -r string1 folder/ | cut -d ":" -f1
напишите в stdOut список путей, которым нужно следовать
sed -i -e 's/string1/string2/' [here]
Это не тема, но если вы знаете, как сделать sed
просто измените строку, которая начинается с string1
это мне очень поможет.