脚本中的逻辑问题

时间:2019-08-30 06:04:00

标签: shell unix

我正在处理一个脚本,在该脚本中我将文件作为参数传递给它。

该文件具有两个类别的数据库。一个以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_的值。

到目前为止,我正在考虑做以下类似的事情,但不确定是否可行。

for file_import in $(< "$1"); do

file_import_1=`grep -iw "CRQ_DI_PROD_$DataBase" "$IGC_Import_List_File" | grep -i prod`;
if [ $import_area1 == GDH_* ]; then
file_import=$import_area1
else ??????

0 个答案:

没有答案