小编Jai*_*chi的帖子

在shell脚本中验证日期格式

我必须创建一个Shell脚本,其中一个参数将是dd/mm/yyyy格式的日期.我的问题是,如何检查作为参数传递的日期是否真的遵循此日期格式?我尝试使用grep命令如下:

if echo "$1" | grep -q '^[0-3][0-9]/[0-1][0-9]/[0-9]\{4\}$'
Run Code Online (Sandbox Code Playgroud)

但它没有给出正确的格式,因为例如日期可以是33,34,(...),这不是真正正确的格式.任何人都知道可以真正检查过去的日期是否真的遵循格式dd/mm/yyyy?

unix bash shell if-statement date

12
推荐指数
4
解决办法
6万
查看次数

命令返回变量

我在尝试从外部文件中获取变量值时遇到问题.我的问题是:是否有可能从for中读取文件中的值然后使用cut命令我可以在=之前得到信息,这将是变量之后的=将是值.这是我在下面尝试但不允许的:

for i in `cat $1`
do
    `echo $i | cut -d= -f1`=`echo $i | cut -d= -f2`
done
Run Code Online (Sandbox Code Playgroud)

$ 1是作为参数传递的文件,它有3行,其中行有一个变量,格式值为variable = value.有没有办法我可以这样做,而不是需要获取变量名称,然后另一个条件为这些变量的值?或者即使我的代码是正确的,但只需要改变一些东西.

unix shell for-loop file variable-assignment

0
推荐指数
1
解决办法
39
查看次数

标签 统计

shell ×2

unix ×2

bash ×1

date ×1

file ×1

for-loop ×1

if-statement ×1

variable-assignment ×1