这是我的文件:
conf.txt
case1:fooYYYYmmdd.bar
case2:helloYYYYmmdd.world
script.sh
fname=`grep $1 conf.txt | cut -d ':' -f2`
在调用参数为script.sh
或case1
的{{1}}时,很明显我的变量case2
被fname
或fooYYYYmmdd.bar
喂饱了
我该如何评估我的helloYYYmmdd.world
中的日期,以便将conf.txt
设置为fname
和foo20181120.bar
而不用破坏和重建我的字符串?
答案 0 :(得分:1)
您可以声明一个Date
变量,然后在fname
中使用它,如下所示:
Date=$(date +%Y%m%d)
fname=$(grep $1 conf.txt |sed "s/YYYYmmdd/$Date/g"|cut -d ':' -f2)
echo $fname