在我的文件中,每一行看起来像这样:
\18:49:25 1920/11/29\ 0.25
当我将其保存在变量中时,有没有一种方法可以检查时间码是否正确,以确保其中没有拼写错误(最多 12 个月,用 4 个数字写的年份等)?
\%H:%M:%S %Y/%m/%d\
谢谢
PS我知道检查不能每次都进行(我无法区分分钟和秒,但我可以检查我没有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
结果=时间码OK
2)
$ cat input.txt
**1920/11@17:50**
**1920/12@18:20**
**1920/13@07:20**
...
$ ./checktimecode "**%Y/%d@%H:%M**" input.txt
结果=时间码OK
$ ./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
结果=时间码OK
$ ./checktimecode "%H/%M/%S\%d/%m/%Y&" input.txt
结果=错误的时间码