我想在配置文件中更新名为$ buildDate的varible的值(unix timestamp)。
此字符串类似于
// ....
$buildDate='1482327565';
// ....
#substitute“foo”with“bar”仅适用于包含“baz”的行
sed'/ baz / s / foo / bar / g'
我试着这样使用:
sed -r -e“/ buildDate / s / [0-9] {10} / 0000000000 / g”config.php
但它不起作用。我收到消息“***禁止路径:/ buildDate / s / [0-9] {10} / 0000000000 / g”而不是。
更新 解决了。那是因为我的非root权利。
答案 0 :(得分:1)
这是一个Awk解决方案:
#!/usr/bin/awk -f
BEGIN {
FS = "="
}
$1 == "$buildDate" {
$2 = "0000000000"
}
1
答案 1 :(得分:0)
试试这个:
sed '/buildDate/{s/[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]/0000000000/g}' config.php
答案 2 :(得分:0)
亚历克斯 - 请你试试,如果有帮助请告诉我。
sed "/buildDate/s/[0-9]\{10\}/0000000000/g" config.php
当我在BASH环境中测试时,上面成功地为我工作了。