从文本文件进行Unix循环

问题描述 投票:0回答:1

我有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"
unix ksh
1个回答
1
投票

有没有一个文件的名字是COMMAND_LIST ?

或者,其实你是想用$COMMAND_LIST代替COMMAND_LIST?

© www.soinside.com 2019 - 2024. All rights reserved.