Когда я печатаю

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 это мне очень поможет.

1 ответ1

0

Есть много способов оптимизировать это, но самый простой способ решить вашу непосредственную проблему:

sed -i 's/^string1/string2/g' folder/*

Это заставит sed заменить экземпляры, где string1 находится в начале строки, на строку string2 для всех файлов в folder/ .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .