Merge

在第一個變數之後將變數的值合併為一個新行

  • August 30, 2019

我有以下兩個變數: $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

幹得好:

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

要將其分配給另一個變數:var3=$(printf '%s\n%s\n' "$var1" "$var2").

引用自:https://unix.stackexchange.com/questions/538227