Заменить дату в файле на другую дату, используя sed, не работающий - PullRequest
0 голосов
/ 23 июня 2018

Мне нужно заменить дату в файле на устройстве на другую дату. Но следующая команда 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 голосов
/ 23 июня 2018

Похоже, ваша проблема в том, что вы эффективно выполняете следующую команду:

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

Как видите, проблема в том, что вы не избегаете косых черт в своем регулярном выражении.

Самым коротким решением было бы вызвать .replace("/", "\\/") для last_date и previous_date в вашем коде Python.

Однако, так как вы уже используете Python, вы могли бы сделать лучше толькоиспользуйте чистый Python и вообще не используйте sed.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...