@jenya7771

Как сделать регулярное выражение в bash скрипте?

Здравствуйте, объясните, как мне сделать так, что бы

day = 1
item = "backups_all_ 2021.01.08|15.25.30.tar.gz"
d="$(date +%Y-%m-%d -d "$day days ago")"

if [[ item =~ "backups_all_$d|*.tar.gz" ]]
then
            echo "ok"
fi


Как мне интегрировать регулярное выражение, что бы после слеша (|) могло быть любое время и в ответе было OK?
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
Убрать пробелы вокруг =
проверить что у вас используются правильные символы везде, а то в item пишешь 2021.01.08 через точку, а в date пишешь %Y-%m-%d через дефис.
В регулярке убрать кавычки и заменить звезочку на точку со звездочкой.
#!/bin/bash

day=2
item="backups_all_2021-01-08|15.25.30.tar.gz"
d="$(date +%Y-%m-%d -d "$day days ago")"

if [[ $item =~ backups_all_$d|.*.tar.gz ]]; then
  echo "ok"
fi
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы