Я получаю время эпохи с помощью этой команды: node -e 'console.log(Date.now())'
, которая (на момент написания) дала мне 1539339683412
.
В yml-файле много файловкоторый я хочу изменить datetime 1494099933
на 1539339683412
.
В настоящее время моя команда sed (в Mac OS X), чтобы сделать это для 1 файла:
sed -i .bak "s/last_updated.*\".*\"/last_updated: $(node -e 'console.log(Date.now())')/g" ingress.yml
Это заменяет его на:
last_updated: 1539339683412
Проблема в том, что двойные кавычки отсутствуют, и для изучения sed я хочу заменить его на:
last_updated:"1539339683412"
Как мне это сделать?
Я попытался добавить экранированные кавычки, такие как \"
, например: sed -i .bak "s/last_updated.*\".*\"/last_updated: \"$(node -e 'console.log(Date.now())')/g\"" ingress.yml
Это выдает ошибку: sed: 1: "s/last_updated.*".*"/la ...": bad flag in substitute command: '"'
Я также пытался: sed -i .bak 's/last_updated.*\".*\"/last_updated: "$(node -e "console.log(Date.now())")"/g' ingress4.yml
.
Что привело к: last_updated: "$(node -e "console.log(Date.now())")"