根据某些条件替换参数值的问题

根据某些条件替换参数值的问题

我正在编写一个脚本,我将一个文件作为参数传递给它。

该文件有两类数据库。以 GDH_ 开头的一个,其他的可以是除此之外的任何内容。例如:

GDH_Cust_spport
GDH_data_Staging
Emplyoyee_separation
General_Audit
Dataset

这里前 2 个以 GDH_ 开头,另一个属于第二类。以下是我当前的脚本:

./crab.sh -credfile  -a list -nof > $Import_List_File

  for DataBase in $(< "$1"); do  
  file_import=`grep -iw "CRQ_DI_PROD_$DataBase" "$Import_List_File" | grep -i prod`;   

     ##Testing if file_import variable has a value
     if [ -z "$file_import" ]; then
       echo "- $file_import file is not present . Please create " >> $Failure_Log
     else
       ## Importing the file 
       echo `date +'%m-%d-%Y %H:%M:%S'` "starting $file_import work" >> $Success_Log
       ./crab.sh -a start -i "$file_import"   >> Success_Log
       echo `date +'%m-%d-%Y %H:%M:%S'` "$file_import  completed" >> $Success_Log

所有以 GDH_ 开头的都必须附加 CRQ_DI_PROD,并且 file_import 的值将为 CRQ_DI_PROD_GDH_Cust_spport 和 CRQ_DI_PROD_GDH_data_Staging。

现在,对于没有 GDH_ 的值,我希望 file_import 包含没有 GDH_ 值的值。

到目前为止,我已经采用了这种方法,并且文件数据库现在位于 file_import_2 和 file_import_3 中。我现在如何将它们结合起来?

        ./crab.sh -credfile  -a list -t area -nof > List_File_test.txt


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
echo $file_import_2
fi
if [[ "$import_area1" != GDH_* ]]; then
file_import_3=$DataBase
echo $file_import_3
fi

done

相关内容