使用sed无法工作将文件中的日期替换为另一个日期

时间:2018-06-23 13:29:20

标签: bash date sed

我需要将设备上文件中的日期替换为另一个日期。但是以下用于字符串替换的sed命令不起作用。

path= "/var/local"
last_date=d("cat /var/local”)-----06/24/18 date i
previous_date=(datetime.strptime(last_date, '%m/%d/%y')-timedelta(1)).strftime("%m/%d/%y”)--output --06/23/18
"sed -i 's/%s/%s/g' %s" % (last_date, previous_date, file)

此Sed输出为24/24/18。它不能代替完整日期

1 个答案:

答案 0 :(得分:0)

您的问题似乎是您正在有效地运行以下命令:

sed -i "s/06/24/18/06/23/18/g" /var/local

如您所见,问题在于您没有在正则表达式中转义斜杠。

最简单的解决方法是在您的python代码中同时在.replace("/", "\\/")last_date上调用previous_date

但是,由于您已经在使用Python,因此最好只使用纯Python,而不使用sed。