将变量的值合并为一个,并在第一个变量后添加一个新行

将变量的值合并为一个,并在第一个变量后添加一个新行

我有以下两个变量: $var1 其值如下

ABC
XYZ
SDF

和 $var 2 其值如下

SDF
SGDGH
hfg

我想要的输出像

ABC
XYZ
SDF
SDF
SGDGH
hfg

我有以下脚本,我想将 file_import_2 和 file_import_3 的值合并为一。

    file_import_2=""
    file_import_3=""
    for DataBase in $(< "$1"); do

    file_import_1=`grep -iw "CRQ_DI_PROD_$DataBase" "$Import_List_File" | grep -i prod`;
    if [[ "$file_import_1" = GDH_* ]]; then
    file_import_2=$file_import_1

    fi
    if [[ "$file_import_1" != GDH_* ]]; then
    file_import_3=$DataBase
    fi

var3=$(printf '%s\n%s\n' "$file_import_2" "$file_import_3")
echo $var3

    done

我传递给脚本的文件和 Import_List_File 各有 4 个值

FARP_DATA_111
TRIN_STAGING
DBH
PRS

使用 print f 解决方案,输出为:

CRQ_DI_PROD_FARP_DATA_111
CRQ_DI_PROD_TRIN_STAGING
CRQ_DI_PROD_TRIN_STAGING DBH
CRQ_DI_PROD_TRIN_STAGING PRS

答案1

干得好:

$ printf '%s\n' "$var1" "$var2"
ABC
XYZ
SDF
SDF
SGDGH
hfg

要将其分配给另一个变量:var3=$(printf '%s\n%s\n' "$var1" "$var2").

相关内容