Откройте Wrt с помощью nodogsplash

Двоеточия : являются разделителями для шаблона (слева) и подстановки (справа). g указывает sed заменить "глобально" (изменить все, что соответствует шаблону в каждой строке, а не только первое в данной строке).

Используются три двоеточия, потому что вам нужно три разделителя. Итак, : g - это на самом деле две вещи: последний разделитель и модификатор «g».

Кавычки используются в том случае, если эта часть выражения "$ {path1}" содержит какой-либо символ (при подстановке переменной), который приведет к ошибке в команде. Например, если он содержит пробел или табуляцию, это разбивает параметр подстановки, переданный оболочкой в ​​ sed , на две части (ошибка).

Итак ... эта команда

sed -i -e s:INPUT_REPLACE:"${path1}":g ${path2}

сообщает sed читать / записывать тот же файл (параметр -i ). Это $ {path2} . Он ищет строки, содержащие "INPUT_REPLACE" , и заменяет эту строку в каждой строке тем, что находится в переменной $ {path1} . Он делает это для каждого появления "INPUT_REPLACE" в каждой строке.

Между прочим: если "$ {path1}" содержит "INPUT_REPLACE" (или замена вызывает возникновение), sed не будет переделывать вещи и заменять снова. Это происходит только в начальных матчах.

Параметр -i отсутствует в POSIX , но доступен в Linux и BSD .

0
18.11.2018, 21:19
0 ответов

Теги

Похожие вопросы