Вам нужно экранировать |
и открывающую скобку [
, так как это специальные символы в регулярном выражении.
Кроме того, вы используете сопоставление границ слов \<
и \>
, что вам не нужно и может вызвать проблемы.
Но все равно тогда у меня работает только с использованиемsed -E
(пока не знаю почему... ).
sed -Ei 's/\[delta3=deltafile;delta3dir=755\|workpm]/&[delta6=delta6file;delta6Dir=755|workpm]/' file.txt
или если ваш sed
не поддерживает &
заднюю -ссылку:
sed -Ei 's/(\[delta3=deltafile;delta3dir=755\|workpm])/\1[delta6=delta6file;delta6Dir=755|workpm]/' file.txt
Выход:
$ echo "core: [dev][delta3=deltafile;delta3dir=755|workpm][staging=stageingfile]" \
| sed -E 's/\[delta3=deltafile;delta3dir=755\|workpm]/&[delta6=delta6file;delta6Dir=755|workpm]/'
core: [dev][delta3=deltafile;delta3dir=755|workpm][delta6=delta6file;delta6Dir=755|workpm][staging=stageingfile]
Команда, такая как
ssh -f -N remote_host
создаст сеанс ssh
с удаленным хостом, но не запустит команду(-N
)и сам фон(-f
). Эту команду можно использовать как основную.
Если вы хотите туннелировать такие вещи, как X, это также можно сделать с помощью этой команды
ssh -X -f -N remote_host
Если вы обнаружите, что незанятый сеанс отключается (, например. из-за тайм-аутов NAT ), затем добавить что-то вроде
-o ServerAliveInterval=30
(или эквивалент в вашем config
файле )попытается сохранить сеанс активным.