如何从字符串中评估日期

How to evaluate date from a string

这是我的文件:

conf.txt

case1:fooYYYYmmdd.bar

case2:helloYYYYmmdd.world

script.sh

fname=`grep  conf.txt | cut -d ':' -f2`

当使用参数 case1case2 调用我的 script.sh 时,我显然得到了我的 var fnamefooYYYYmmdd.barhelloYYYmmdd.world.

我如何评估我的 conf.txt 的日期,以便 fname 设置为 foo20181120.barhello20181120.world 而无需破坏和重建我的字符串?

您可以只声明一个 Date 变量并在 fname 中使用它,如下所示:

Date=$(date +%Y%m%d)

fname=$(grep  conf.txt |sed "s/YYYYmmdd/$Date/g"|cut -d ':' -f2)
echo $fname