sed -i "s/"$search"/"$replace"/g" $file
to polecenie jest w stanie zastąpić tylko ciągi znaków, ale chciałem wyszukać i zamienić dowolny ciąg znaków w pliku
Np .: jeśli podam dane
$search= /jms/CodeBasev1.23*
$replace= /jms/CodeBasev1.24/baseline*.
powinien szukać dokładnego ciągu i zastępować wiersz dokładny. Nie tylko za pomocą ukośników, ale także akceptować meta-znaki
np .: [..],%, &, () ..etc
Odpowiedzi:
0 dla odpowiedzi № 1perl -0777 -pi -e"s/Q$ENV{search}/$ENV{replace}/g" $file
-0777
jest konieczne tylko wtedy, gdy szukany ciąg zawiera dosłowne znaki nowej linii.