Замена '\'' на sed

Я предлагаю вам надежный способ привязки Tomcat к определенной версии JDK. В подкаталоге tomcat __dir/bin вы можете найти файл setenv.sh. Измените его, добавив строку:

JAVA_HOME=/path/to/desired/jdk_home

Затем (повторно )запустить службу Tomcat. Это повлияет только на этот экземпляр tomcat. Кстати, это рекомендуемый способ настройки конкретной среды tomcat.

Важно :убедитесь, что у вас установлена ​​версия JDK, а не только JRE. если сомневаешься сомневаешься,просто скачайте подходящий tar/zip изhttp://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.htmlзатем распакуйте его в папку /path/to/desired/jdk _дома, упомянутую выше

2
20.12.2019, 10:36
1 ответ

Если вы хотите заменить буквальный текст '\'', вам понадобится

sed "s/'\\\\''/new text/g"

\необходимо экранировать как \\, чтобы представлять себя в регулярном выражении, затем вам нужно удвоить каждую из этих обратных косых черт, поскольку они являются частью строки в двойных кавычках. Вам нужно использовать строку в двойных кавычках, так как вы хотите сопоставить одинарные кавычки (, а строка в одинарных кавычках не может содержать одинарные кавычки ).

В качестве альтернативы:

sed "s/'[\\]''/new text/g"

Где [\\]будет преобразовано в [\]из-за двойных -кавычек строки перед ее передачей в sed. Обратная косая черта в выражении в квадратных скобках в регулярном выражении всегда буквальна.


Ваша команда

sed "s/'\''/×/g"

функционально аналогичен

sed "s/'''/×/g"

и заменит любую тройную одинарную кавычку символом ×.

7
28.04.2021, 23:26

Теги

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