Удалить все перед паттерном и удалить символ

Виртуальная машина отслеживает неверное время хоста виртуализации. Хотя вы можете настроить его на текущее время с помощью случайных команд ntpdate, оно довольно быстро снова переключится на время хоста, как вы видите.

Чтобы установить время, вы можете:

  1. исправьте время хоста/гипервизора и правильно настройте NTP на гипервизоре (тем не менее рекомендуется сделать это, чтобы вся инфраструктура -структура/журналы работали в одно и то же время );

  2. сообщить виртуальной машине, чтобы она не следовала за временем хоста без запуска демона синхронизации времени (, тем не менее, существует явление сжатия времени, и время будет медленно отклоняться от официального времени послеntpdate);

  3. указать виртуальной машине не следить за временем хоста и запустить демон синхронизации NTP

Вариант 2 не является желательным, но я включил его для иллюстрации. Время от времени я прибегал к варианту 1 с очень легкими настройками виртуальных машин , , однако вариант 3 — это курс действий, рекомендованный официальными документами VMWare.

Предполагая хост VMware. Для отключения синхронизации с хостом vmware у вас должны быть (открытые )установленные vmtools и запуск при загрузке с правами root или с помощью sudo:

vmware-toolbox-cmd timesync disable

Затем, чтобы установить демон NTP, вы можете установить либо ntpd, либо демон chrony.

Тем не менее, я хотел бы еще раз подчеркнуть, что с оперативной точки зрениятакже желательно, чтобы на хост-машине виртуализации была фиксированная конфигурация времени/NTP.

См. также этот пост с нашего дочернего сайта ServerFault. Нужно ли запускать NTP-сервер на каждой виртуальной машине?

It should be noted that time not only "can" drift away, but will drift away due to the fact that intervals between timer interrupts (which timekeeping on OS is often based on) are stretched and compressed as the hypervisor would see fit.

-3
03.03.2021, 22:41
5 ответов

Вы можете попробовать это:

$ sed 's/^.*(\([^()]*\)): \(.*\)$/- \1:\2/' file
- sse-gateway:1.24
- blueocean-commons:1.24.4
- handy-uri-templates-2-api:2.1.8-1.0
- durable-task:1.35
- blueocean-git-pipeline:1.24.0
- blueocean-rest:1.24.4
- terraform:1.0.10
- git-server:1.9
- blueocean-web:1.24.0
- blueocean-bitbucket-pipeline:1.24.0
3
18.03.2021, 22:27

Решение gawk:

awk -F'): ' -v OFS=':' '{ sub(/.*\(/, "", $1); print " - "$1,$2 }' file
2
18.03.2021, 22:27
awk -F ')' '
{
  sub(/.*\(/, " - ", $(NF-1))
  print $(NF-1) $(NF)
}
' file
0
18.03.2021, 22:27
$ awk -F'[(): ]+' '{print "-", $(NF-1)":"$NF}' file
- sse-gateway:1.24
- blueocean-commons:1.24.4
- handy-uri-templates-2-api:2.1.8-1.0
- durable-task:1.35
- blueocean-git-pipeline:1.24.0
- blueocean-rest:1.24.4
- terraform:1.0.10
- git-server:1.9
- blueocean-web:1.24.0
- blueocean-bitbucket-pipeline:1.24.0
2
18.03.2021, 22:27

Две замены в каждой строке:

  1. Замените все до последнего (включительно тире и пробелом.
  2. Замените ):после пробела дефисом.
$ sed 's/.*(/- /; s/): /-/' file
- sse-gateway-1.24
- blueocean-commons-1.24.4
- handy-uri-templates-2-api-2.1.8-1.0
- durable-task-1.35
- blueocean-git-pipeline-1.24.0
- blueocean-rest-1.24.4
- terraform-1.0.10
- git-server-1.9
- blueocean-web-1.24.0
- blueocean-bitbucket-pipeline-1.24.0
1
18.03.2021, 22:27

Теги

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