文件字符串替换以及SQL执行工具
最近写的小工具,留着以后做参考
最近写的小工具,留着以后做参考
#########################################
文件字符串替换
#########################################
#!/bin/sh
echo -n "Createdate(例:20201022):"
read CreateDate
CreateDate_Para=`echo ${
CreateDate:0:4}\/${
CreateDate:4:2}\/${
CreateDate:6:2}`
echo "Createdate:"`echo ${
CreateDate:0:4}/${
CreateDate:4:2}/${
CreateDate:6:2}`
# dev_cap:大文字、例:ABCD
parameter_XXXX=`echo $IoName_Para | tr a-z A-Z`
# dev_low:小文字、例:abcd
parameter_xxxx=`echo $IoName_Para | tr A-Z a-z`
# pro_pre_cap:IO初字母大文字、例:Abcd
parameter_Xxxx=`echo ${
IoName_Para:0:1} | tr a-z A-Z`${IoName_Para:1}
for script in `find ./input -name * -type f -print`
do
# 出力ファイル名定義
outfile=`echo ${
script:7} | sed "s/xxxx/$IoName_Para/g"`
# ファイル内容編集
cat $script |
sed "s/XXXX/$parameter_XXXX/g" |
sed "s/xxxx/$parameter_xxxx/g" |
sed "s/Xxxx/$parameter_Xxxx/g" |
sed "s/YYYY/$Device_Para/g" |
sed "s/Makers_Para/$Makers_Para/g" |
sed "s/CreateDate_Para/$CreateDate_Para/g" >./output/${outfile}
done
#########################################
SQL执行工具
#########################################
#select COLUMN_1,COLUMN_2 from TABLE_1 where
#(COLUMN_1 = オーダーID AND COLUMN_2 = コンテナID)
#OR (COLUMN_1 = オーダーID AND COLUMN_2 = コンテナID)
#OR (COLUMN_1 = オーダーID AND COLUMN_2 = コンテナID);
# 定義
DBA_USER=${SW_P_ORACLE_USER}
DBA_PWD=${SW_P_ORACLE_USER}
ORACLE_SID=${ORACLE_SID}
para_Array=""
para=""
count=0
strEquality="="
for para in `cat file`
do
count=$((${count} + 1))
if [ `echo "${count} == 1" | bc` == 1 ];
then
continue;
elif [ `echo "${count} == 2" | bc` == 1 ];
then
para_Array=`echo (COLUMN_1 $strEquality`${para%,*}`echo " "and COLUMN_2``echo $strEquality`${
para#*,}\)
else
para_Array=${para_Array}" OR "`echo (COLUMN_1 $strEquality`${para%,*}`echo " "and COLUMN_2``echo $strEquality`${
para#*,}\)
fi
done
# SQLコマンド作成
sql_command="select COLUMN_1,COLUMN_2 from TABLE_1 where ${para_Array};"
echo 実行コマンド:${sql_command}
# 実行且つ出力
sqlplus ${DBA_USER}/${DBA_PWD}@${ORACLE_SID} << EOF
SET ECHO ON
${sql_command}
SET ECHO OFF
EOF
