Мне известно, что следующую команду можно использовать для рекурсивной замены всех экземпляров определенной строки другой:
find / path / to / files -type f -print0 |xargs -0 sed -i 's / oldstring / newstring / g'
Однако мне нужно делать это только для строк, начинающихся с определенной строки ("matchstr").
ДляНапример, если файл содержит следующие строки:
This line containing oldstring should remain untouched
matchstr sometext oldstring somethingelse
Я хочу получить это в качестве вывода:
This line containing oldstring should remain untouched
matchstr sometext newstring somethingelse
Любые предложения относительно того, как я мог бы действовать, были бы оценены.