0

誰かplsは、headingcopy、linecopy、sedで始まる行で何が起こっているのかを理解するのに役立ちますか?これらのコマンドを認識していないため、これらのheadingcopyまたはlinecopyの意味を完全に理解していません。変数の場合、どこにありますか使用済み?...

GetReportParams|grep -iv conn|grep -v "^$"|while read DB_SCHEMA REP_IDX ORG_SHORT_NAME SQL_SCRIPT OUTPUT_FILE_NAME REPORT_NAME REPORT_TYPE OUT_FILE_EXT ORG_NAME MAIN_EMAIL BCC_EMAIL REPORT_GROUP PARAMETERS
do
  echo ======================================================================================
  export DATE=`date +%Y%m%d -d "1 day ago"`
  export OUTPUT_FILE_NAME="${OUTPUT_FILE_NAME}_$DATE.${OUT_FILE_EXT}"
  export OUTDIR=$OUTDIR_main/${ORG_SHORT_NAME}/${YEAR_MONTH}
  export SCPDIR=/$ORG_NAME/data_extracts/
  TMP_FILE_NAME="TMP_RUN_REPORT.txt" 
  echo Running report for -- $PARAMETERS
  # Remove text qualifier character
  PARAMETERSSEARCH=`echo $PARAMETERS | tr -d \'`
  HeadingCopy=`head -1 $OUTDIR_main/$MAIN_FILE_NAME | tee -a ${OUTDIR_main}/${TMP_FILE_NAME} `
  LineCopy=`grep ^"$PARAMETERSSEARCH" $OUTDIR_main/$MAIN_FILE_NAME | tee -a ${OUTDIR_main}/${TMP_FILE_NAME} ` 
  sed 's/[ \t]*$//' ${OUTDIR_main}/${TMP_FILE_NAME} > ${OUTDIR}/${OUTPUT_FILE_NAME}
  sed -i 's/[^,]*,//' ${OUTDIR}/${OUTPUT_FILE_NAME}
  #cat ${OUTDIR}/${OUTPUT_FILE_NAME}
  rm ${OUTDIR_main}/${TMP_FILE_NAME}

  rsync -a ${OUTDIR}/${OUTPUT_FILE_NAME} oracle@grnwebreports2:$SCPDIR
done

ありがとう!レオ

4

1 に答える 1

0
HeadingCopy=`head -1 $OUTDIR_main/$MAIN_FILE_NAME | tee -a ${OUTDIR_main}/${TMP_FILE_NAME} `

最初の行をファイル$OUTDIR_main/ $ MAIN_FILE_NAMEから変数HeadingCopyにコピーし、出力をファイル$ {OUTDIR_main} / $ {TMP_FILE_NAME}にリダイレクト(追加)します。

 LineCopy=`grep ^"$PARAMETERSSEARCH" $OUTDIR_main/$MAIN_FILE_NAME | tee -a ${OUTDIR_main}/${TMP_FILE_NAME} ` 

変数PARAMETERSSEARCHに存在する文字列で始まる行をコピーし、出力をファイル$ {OUTDIR_main} / $ {TMP_FILE_NAME}にリダイレクト(追加)します。

2番目のsedは、ファイル内の最初の文字から「、」に遭遇するまでのデータをすべての行に置き換えます。

于 2013-02-18T12:50:07.190 に答える