В моем файле каждая строка выглядит примерно так:
\18:49:25 1920/11/29\ 0.25
Есть ли способ, как я могу проверить правильность тайм-кода, чтобы в нем не было опечаток (например, максимум 12 месяцев, год, написанный 4 числами и т. д.), когда я сохранил это в переменной?
\%H:%M:%S %Y/%m/%d\
Спасибо
P.S. Я знаю, что проверка не может работать каждый раз (я не могу отличить минуты от секунд, но я могу проверить, что у меня нет 13 месяцев и т. д.)
РЕДАКТИРОВАТЬ: тайм-код не фиксирован. Файл данных может выглядеть так:
*1920.11.29 18.49.25* 0.25
но он также может выглядеть совершенно по-другому. Единственное, что я думаю, это то, что у меня есть тайм-код, сохраненный в общем виде в переменной. В этом случае было бы
*%Y.%m.%d %H.%M.%S*
EDIT2: Похоже, я не совсем ясно выразился, поэтому вот несколько примеров того, чего я хочу достичь:
1)
$ cat input.txt
29/11/1920 17:50
30/11/1920 18:20
01/12/1920 07:20
...
$ ./checktimecode "%d/%m/%Y %H:%M" input.txt
Результат= таймкод ОК
2)
$ cat input.txt
**1920/11@17:50**
**1920/12@18:20**
**1920/13@07:20**
...
$ ./checktimecode "**%Y/%d@%H:%M**" input.txt
Результат= таймкод ОК
$ ./checktimecode "**%Y/%m@%H:%M**" input.txt
Результат = ПЛОХОЙ таймкод
3)
$ cat input.txt
!17/50/20\29/11/1920&
!18/20/50\30/11/1920&
!07/18/05\01/12/1920&
...
$ ./checktimecode "!%H/%M/%S\%d/%m/%Y&" input.txt
Результат= таймкод ОК
$ ./checktimecode "%H/%M/%S\%d/%m/%Y&" input.txt
Результат = ПЛОХОЙ таймкод