Шаблон сценариев оболочки для даты - PullRequest
0 голосов
/ 15 декабря 2018

Я пытаюсь создать скрипт, который просит пользователя ввести дату.Эта дата должна быть напечатана так: DDMMYYHHMM.Например, если это 15-12-2018 13:05.Это должно быть написано так 1512181305.Я пытаюсь найти правильный шаблон, чтобы принять только такой формат.Я думал что-то вроде этого:

#!/bin/bash  
read date 
[[ $date =~ ^[[:digit:]]+$ ]]      || exit 1;

1 Ответ

0 голосов
/ 16 декабря 2018

Вы можете использовать что-то вроде:

#!/bin/bash
read date
[[ $date =~ ^(0[1-9]|[1-2][0-9]|3[01])(0[1-9]|1[0-2])[0-9][0-9](2[0-3]|[01][0-9])[0-5][0-9]$ ]] || exit 1;

С этим:

Day could be between 1 and 31 --> (0[1-9]|[1-2][0-9]|3[01])
Month between 1 and 12        --> (0[1-9]|1[0-2])
Year between 0 and 99         --> [0-9][0-9]
Hour between 0 and 23         --> (2[0-3]|[01][0-9])
Minutes between 0 and 59      --> [0-5][0-9]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...