Новая версия GNU sed
поддерживает опцию -z
.
Normally, sed reads a line by reading a string of characters up to the end-of-line character (new line or carriage return).
The GNU version of sed added a feature in version 4.2.2 to use the "NULL" character instead. This can be useful if you have files that use the NULL as a record separator. Some GNU utilities can generate output that uses a NULL instead a new line, such as "find. -print0" or "grep -lZ".
Вы можете использовать эту опцию, если хотите, чтобы sed
работало над разными строками.
echo 'claudio
antonio
claudio
michele' | sed -z 's/claudio/claudia/'
возвращает
claudia
antonio
claudio
michele
В моем случае я работаю с образом докера на основе php:7.2.15-apache-stretch
. Я понял, что скрипт пытался установить apt-transport-https
version= 1.4.11
.
Однако при запуске apt apt-transport-https -v
внутри контейнера, созданного до появления этой проблемы, я получил версию 1.4.10
. Поэтому я изменил его, и это было решено.
Просто добавил установку до скручивания узла.
FROM php:7.2.15-apache-stretch
...
RUN apt-get update
...
RUN apt-get install -y apt-transport-https=1.4.10
RUN curl -sL https://deb.nodesource.com/setup_15.x | bash -