Я на своем мобильном устройстве, поэтому у меня нет возможности проверить его, но это должно сработать -
sed -i"bak" '/ORACLE_HOME/s/10\.2\.0"/11.2.0.2_org"/' file
Обновление:
Хорошо, как я уже сказал, вышеупомянутая однострочная программа должна работать. Вы можете использовать его со своим оператором find
следующим образом:
find /path/to/scripts -type f -name "*.ksh" -exec sed -i"bak" '/ORACLE_HOME/s/10\.2\.0"/11.2.0.2_org"/' {} \;
Примечание: -i"bak"
требуется только в том случае, если вы хотите сделать резервную копию своих сценариев перед внесением изменений. Это создаст два набора файлов для всех ваших скриптов с оригинальными, которые будут изменены и сохранены с тем же именем, имеющим bak
в конце. Если вы не хотите выполнять резервное копирование, тогда -i
должно быть в порядке.