如何在Unix中将文件中的变量读取到Unix脚本中

时间:2013-10-25 07:37:50

标签: shell unix ksh

我有一个文本文件如下:

[Global]

$DBConnection_prd_load=GETDB

$$SURVEY_TYPE=ALL

$$VENDOR_SURVEY_ID=5

$$PROD_EMAIL=users@tnnnet.com

$$LASTRUNDATE=10/24/2013

我想将上面的$$LASTRUNDATE值传递给下面的脚本。 Pl帮助。并将/替换为_

#! /bin/ksh

export SRCDIR=/informat/PowerCenter/9.1.0/server

export TGTDIR=/informat/PowerCenter/9.1.0/server/infa

export FILEDT=**$$LASTRUNDATE**

cd ${SRCDIR}

export GET_FNAME=AllResponses_${FILE_NUM}_${FILEDT}*.txt

        if [ -f ${GET_FNAME} ]; then

                cp ${SRCDIR}/${GET_FNAME} ${TGTDIR}

你能告诉我如何用'_'代替'\'吗?

朋友..还有一个小小的恩惠..我们可以在上面的变量中添加1天的日期吗??

2 个答案:

答案 0 :(得分:1)

你可以使用反引号。

这将产生输出:

cat mytextfile | grep '\$\$LASTRUNDATE=' | sed 's/\$\$LASTRUNDATE=//g'| sed 's/\//_/g'

这将允许我存储它:

export FILEDT=`cat mytextfile | grep '\$\$LASTRUNDATE=' | sed 's/\$\$LASTRUNDATE=//g' | sed 's/\//_/g'`

答案 1 :(得分:1)

这将为您提供所需格式的价值:

grep '$$LASTRUNDATE' <file-name> | cut -d= -f2 | sed -e 's/\//\-/g'