Рассмотрите возможность пропуска строк, содержащих "platform-domino" с помощью команды n
:
sed '/platform1-domino/ n; s/platform1-.*:platform/platform1-06:hybrisb/g' file
Или поиск и замена, но с исключением букв как возможных для совпадения:
sed 's/platform1-[^d][^o][^m][^i][^n][^o].*:platform/platform1-06:hybrisb/g' file
В итоге я использовал что-то вроде (внутри initrd):
if is_dev_mode ; then
chroot $ROOTFS_MOUNT /usr/bin/passwd --delete root
else
chroot $ROOTFS_MOUNT /usr/bin/passwd --lock root
fi
sync
Это происходит до того, как rootfs перемонтируется только для чтения. Мне это не очень нравится, но я думаю, что это лучше, чем использовать еще один unionfs (их уже несколько). passwd
в initrd'е не имеет таких причудливых опций, как в основной ОС, но chroot
работает так же хорошо.