【问题标题】:how to read a variable from a file to a Unix script in Unix如何在 Unix 中将变量从文件读取到 Unix 脚本
【发布时间】:2023-03-31 11:25:01
【问题描述】:

我有一个如下的文本文件:

[Global]

$DBConnection_prd_load=GETDB

$$SURVEY_TYPE=ALL

$$VENDOR_SURVEY_ID=5

$$PROD_EMAIL=users@tnnnet.com

$$LASTRUNDATE=10/24/2013

我想将上面的文件$$LASTRUNDATE 值传递给下面的脚本。请帮忙。并将/ 替换为_

#! /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 天..?

【问题讨论】:

  • 对不起老兄...不是不接受...谨慎...非常感谢让我知道解决方案...
  • 能否请您告诉我如何将 1 天添加到变量中,在上面的脚本中获得日期值。请帮忙

标签: shell unix ksh


【解决方案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'`

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-14
      • 1970-01-01
      • 2020-09-18
      • 2023-03-15
      • 2018-04-28
      相关资源
      最近更新 更多