Linux - sed - Редактировать настройки Java из файла конфигурации - PullRequest
0 голосов
/ 15 октября 2018

Моя текущая конфигурация Java должна быть обновлена, как показано ниже?Он реализует несколько логик, и если один из них работает, другой отказывает.Команда Pls share sed.

Ток:

    default_value JAVA_LOGGING_OPTS " \
            -DlogFile=${STDOUT_LOG_PATH}/${COMPONENT_INSTANCE}-Cache-Server.log \
            -Dlog4j.configuration=file:${BASE_DIR}/sysconfig/log4j.properties\
            -Dtangosol.coherence.log=log4j \
            -Dtangosol.coherence.log.level=5"

Необходим:

    default_value JAVA_LOGGING_OPTS " \
            -DlogFile=${STDOUT_LOG_PATH}/${COMPONENT_INSTANCE}-Cache-Server.log \
            -Dlog4j.configuration=file:${BASE_DIR}/sysconfig/log4j.properties\
            -Dtangosol.coherence.log=log4j \
            -Dtangosol.coherence.log.level=5 \
            -Xloggc:${BASE_DIR}/logs/gc/gc-${INSTANCE}.log \
            -XX:+UseGCLogFileRotation \
            -XX:NumberOfGCLogFiles=10 \
            -XX:GCLogFileSize=10m \
            -XX:ParallelGCThreads=8 \
            -XX:+PrintGCDateStamps \
            -XX:+PrintGCDetails"

1 Ответ

0 голосов
/ 15 октября 2018

Вставить строки с помощью sed после определенного блока довольно просто, с помощью выбор строк путем сопоставления текста ; команда s ' regexp "$ обеспечивает замену только закрывающей кавычки в конце строки.

sed '/default_value JAVA_LOGGING_OPTS "/,/"/s?"$? \\\
            -Xloggc:${BASE_DIR}/logs/gc/gc-${INSTANCE}.log \\\
            -XX:+UseGCLogFileRotation \\\
            -XX:NumberOfGCLogFiles=10 \\\
            -XX:GCLogFileSize=10m \\\
            -XX:ParallelGCThreads=8 \\\
            -XX:+PrintGCDateStamps \\\
            -XX:+PrintGCDetails"?' Current >Needed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...