Команда Unix sed заменить в переменной

Закомментируйте -служебную строку ttdbserverв /etc/inetd.confи перезапустите демон inetd, отправив kill -HUP <pid_of_inetd>. Это re -считывает конфигурацию inetd.

Найдите и завершите все rpc.ttdbserverпроцессы. Теперь новые не возрождаются.

-4
06.06.2021, 14:04
2 ответа

Вот так просто :Замените открывающую скобку и кавычку одинарной кавычкой, запятую между кавычками замените только запятой и кавычку вдоль закрывающей скобки снова одинарной кавычкой:

sed "s/\['/'/;s/','/,/g;s/']/'/" file

Хитрость обычно заключается в том, чтобы найти то, что делает шаблон уникальным.

1
28.07.2021, 11:26

Предположим, что у вас есть переменная оболочки Xсо значением, установленным следующим образом:

X="['8922','9292','3220']"

Затем вы можете удалить одинарные кавычки и квадратные скобки, используя tr. Вы также можете вставить новые одинарные кавычки одновременно:

Y="'$( printf '%s' "$X" | tr -d "[]'" )'" 

Если вы используете bashили zsh, вы можете сделать это более компактным способом:

Y="'${X//[][\']/}'"
1
28.07.2021, 11:26

Теги

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