我正在通过以下命令获取新纪元时间:node -e 'console.log(Date.now())'
(在撰写本文时)给了我1539339683412
。
我要在其中的许多yml文件中将日期时间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())")"
答案 0 :(得分:1)
最后一个引号<form action="" id="form" onsubmit="return checkform(this)">
<label for="naam"><strong>Naam*</strong></label><br>
<input type="text" id="naam" name="naam" value="Tom" required/>
<br><br>
<label for="email"><strong>Email*</strong></label><br>
<input type="text" id="email" name="email" value="tom@gmail.com" required/>
<br><br>
<label for="telefoonnummer"><strong>Telefoonnummer</strong></label><br>
<input type="text" id="telefoonnummer" name="telefoonnummer" value="020-694-0232" readonly="readonly"/>
<br><br>
<label for="textarea"><strong>Uw vraag</strong></label><br>
<textarea id="textarea" type="textarea" rows="10" cols="50" value="Hoe kan ik een vluchtnummer toevoegen?"required/></textarea>
<br><br>
<input type="submit" value="Versturen" onclick="alertpopup()">
</form>
之前的结束报价。
/
通知sed -i .bak "s/last_updated.*\".*\"/last_updated: \"$(node -e 'console.log(Date.now())')\"/g" ingress.yml
亲...Date.now())'\"/g"
替换字符串是最后两个斜杠(或更通常是分隔符)之间的填充物;您不必为此使用斜杠)。最终分隔符之后的所有内容都是...Date.now())'/\"g"
替换命令的选项(例如s///
可以全局替换;如果您希望每行不超过一个匹配项,则在这里是多余的)。