【问题标题】:Unix looping from text fileUnix从文本文件循环
【发布时间】:2020-05-07 05:48:51
【问题描述】:

我有 2 个文本文件。我想在第一个文件中循环获取一个列表,然后使用该列表,从第二个文件循环以搜索匹配的字段。

第一个循环很好,但是当第二个循环进入时,变量$CLIENT_ABBREV在第二个循环中无法读取,它读取为空白。输出类似于does not match DOG,其中does 之前有一个空格。

while IFS=',' read CLIENT_ID NAME SERVER_NAME CLIENT_ABBREV
do
    echo "\n------------"
    echo Configuration in effect for this run
    echo CLIENT_ID=$CLIENT_ID
    echo NAME=$NAME
    echo SERVER_NAME=$SERVER_NAME
    echo CLIENT_ABBREV=$CLIENT_ABBREV

    while IFS=',' read JOB_NAME CLIENT_ABBREV_FROMCOMMAND JOBTYPE JOBVER
    do
    if [ "$CLIENT_ABBREV" == "$CLIENT_ABBREV_FROMCOMMAND" ]; then
        # do something
    else
       echo $CLIENT_ABBREV does not match $CLIENT_ABBREV_FROMCOMMAND
    done <"$COMMAND_LIST"

done <"$CLIENT_LIST"

【问题讨论】:

    标签: shell unix ksh


    【解决方案1】:

    是否有名为 COMMAND_LIST 的文件?

    或者,实际上你想使用 $COMMAND_LIST 而不是 COMMAND_LIST 吗?

    【讨论】:

    • 是的,有一个 COMMAND_LIST 文件,这是我要搜索匹配字段的第二个文件
    • 既然 CLIENT_LIST 是一个变量,我的意思是 .. COMMAND_LIST 是一个变量吗?如果是,请使用 $COMMAND_LIST
    • 啊!傻我。我忘记了那个美元。放入后工作。谢谢。
    • @dixienormous 请在其他人寻找解决方案之前接受答案。 ypu 也可能会赞成这个答案,
    • @WalterA 我遇到了一个新错误。所以我对这个问题做了一些调整。 Alvin SIU 的回答很有帮助。
    猜你喜欢
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多