После небольшого поиска в Google / собственных исследований я не нашел окончательного ответа,
Я хочу выполнить поиск во всей папке / var / www / html / на предмет появления «127.0.0.1» и заменить их IP-адресом сервера (мы перемещаем базу данных из локального ящика).
Это касается Localhost и 127.0.0.1. Пока я мог просто бежать
find * | xargs sed -i a/127.0.0.1/ser.ver.ip.addr/g
дважды, один раз заменив 127.0.0.1 и localhost, я бы предпочел не запускать две команды.
Могу ли я выполнить операцию ИЛИ, не нарушив ее?
Что-то вроде:
find * | xargs sed -i a/127.0.0.1|localhost/ser.ver.ip.addr/g
----------------------------редактировать--------------------- -
Я нашел чуть более надежный способ поиска и замены,
find * -type f -exec sed -i 's/127.0.0.1/ser.ver.ip.addr/g' {} \;
Однако я не могу заставить поисковый запрос соответствовать 127.0.0.1 ИЛИ localhost.
Я думаю, вам придется заключить это в кавычки:
find * | xargs sed -i "a/127.0.0.1|localhost/ser.ver.ip.addr/g"
find . -type f -print | xargs sed -i -e 's/127.0.0.1/207.200.19.177/g' -e 's/localhost/207.200.19.177/g'