有人可以帮助我理解在这里开始使用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
谢谢! 利奥
答案 0 :(得分: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}
第二个sed将从第一个字符开始重写文件中的数据,直到遇到“,”