cygwin setup

카테고리 없음 2019. 11. 29. 16:25

# exe.sh ------------------------------------------------------

sh cpre2.sh FROM_PROGRAM_ID TO_PROGRAM_ID

#cpre2.sh -----------------------------------------------------

exe.sh -> cpre2.sh -> cp.sh -> replace.sh
#
# 새 파일을 만든다
# (OBSOLETE)주의:cp.sh 안의 디렉토리 명을 바꿔주어야 한다
# (OBSOLETE)주의:대문자로 시작하는 파일을 먼저 쓰고, 소문자는 다음
# ${1,,} 는 소문자 처리
echo cp2.sh ${1} ${2} "${1,,}" "${2,,}"
sh   cp2.sh ${1} ${2} "${1,,}" "${2,,}"


# 만든 새 파일의 문자열을 치환한다
sh replace2.sh  ${1} ${2} "${1,,}" "${2,,}"

echo
echo 'NB. sql-map-config*.xml is not included in this generator!'; 
echo

# cp2.sh -----------------------------------------------------------------------

echo "cp2.sh BEGIN ------------"
SRC1=$1
TGT1=$2
SRC2=$3
TGT2=$4

INPUT3=$3
INPUT4=$4

SRCSTR1=${INPUT3:0:2}
SRCSTR2=${INPUT3:2:2}
TGTSTR1=${INPUT4:0:2}
TGTSTR2=${INPUT4:2:2}
echo "SRCSTR1 ==> $SRCSTR1 "
echo "SRCSTR2 ==> $SRCSTR2 "
echo "TGTSTR1 ==> $TGTSTR1 "
echo "TGTSTR2 ==> $TGTSTR2 "

echo ${SRC1} ${TGT1}

# $ find /cygdrive/c/WorkSpace -name "uyCnsltCurst*"|grep -v class

cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/webapp/${SRCSTR1}/${SRCSTR2}/${SRC2}.jsp /cygdrive/d/PROJECT/workspace/pjt1/src/main/webapp/${TGTSTR1}/${TGTSTR2}/${TGT2}.jsp
echo cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/webapp/${SRCSTR1}/${SRCSTR2}/${SRC2}.jsp /cygdrive/d/PROJECT/workspace/pjt1/src/main/webapp/${TGTSTR1}/${TGTSTR2}/${TGT2}.jsp

cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${SRCSTR1}/${SRCSTR2}/controller/${SRC1}Controller.java /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${TGTSTR1}/${TGTSTR2}/controller/${TGT1}Controller.java
echo cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${SRCSTR1}/${SRCSTR2}/controller/${SRC1}Controller.java /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${TGTSTR1}/${TGTSTR2}/controller/${TGT1}Controller.java

cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${SRCSTR1}/${SRCSTR2}/service/${SRC1}Service.java       /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${TGTSTR1}/${TGTSTR2}/service/${TGT1}Service.java
echo cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${SRCSTR1}/${SRCSTR2}/service/${SRC1}Service.java       /cygdrive/d/PROJECT/workspace/pjt1/src/main/java/com/SUBDIR/${TGTSTR1}/${TGTSTR2}/service/${TGT1}Service.java

cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/resources/egovframework/sqlmap/sql/${SRCSTR1}/${SRCSTR2}/${SRC1}_SQL.xml       /cygdrive/d/PROJECT/workspace/pjt1/src/main/resources/egovframework/sqlmap/sql/${TGTSTR1}/${TGTSTR2}/${TGT1}_SQL.xml
echo cp /cygdrive/d/PROJECT/workspace/pjt1/src/main/resources/egovframework/sqlmap/sql/${SRCSTR1}/${SRCSTR2}/${SRC1}_SQL.xml       /cygdrive/d/PROJECT/workspace/pjt1/src/main/resources/egovframework/sqlmap/sql/${TGTSTR1}/${TGTSTR2}/${TGT1}_SQL.xml


echo "cp2.sh END ------------"

 

# replace2.sh -----------------------------------------------------------------------------------

replace2.sh
echo "replace2.sh BEGIN"
INPUT3=$3
INPUT4=$4
echo 3333333 BEGIN 2
echo $INPUT3
echo 3333333 END 2
echo
SRCSTR1=${INPUT3:0:2}
SRCSTR2=${INPUT3:2:2}
TGTSTR1=${INPUT4:0:2}
TGTSTR2=${INPUT4:2:2}
echo "SRCSTR1 ==> $SRCSTR1 "
echo "SRCSTR2 ==> $SRCSTR2 "
echo "TGTSTR1 ==> $TGTSTR1 "
echo "TGTSTR2 ==> $TGTSTR2 "
echo $1 $2
echo $3 $4
echo $5 $6
echo $7 $8
echo $9 "${10}"
echo "${11}" "${12}"

#while (( $# > 0 ))    # or [ $# -gt 0 ]
#do
#    echo "$1"
#    shift
#done

#echo $SRC1 $TGT1
#
#echo
#
# 다른 디렉토리 소스 복사할 때 (BEGIN)
find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${SRCSTR1}\/${SRCSTR2}/${TGTSTR1}\/${TGTSTR2}/g"
echo " ${SRCSTR1}/${SRCSTR2} -> ${TGTSTR1}/${TGTSTR2} (replace2.sh)"

find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${SRCSTR1}\.${SRCSTR2}/${TGTSTR1}\.${TGTSTR2}/g"
echo " ${SRCSTR1}.${SRCSTR2} -> ${TGTSTR1}.${TGTSTR2} (replace2.sh)"
# 다른 디렉토리 소스 복사할 때 (END)


find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${3}/${4}/g"
echo " ${3} -> ${4} (replace2.sh)"
find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${1}/${2}/g"
echo " ${1} -> ${2} (replace2.sh)"



#find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${5}/${6}/g"
#echo "replace.sh --- 3"
#find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${7}/${8}/g"
##find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i 's/'"${7}"'.*/'"${8}"'/g'
#
#echo "replace.sh --- 4"
##find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i "s/${9}/${10}/g"
##find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i 's/'"${9}"'.*/'"${10}"'/g'
##echo "replace.sh --- 5"
##find /cygdrive/d/SSGFNB/WorkSpace -iname "${2}*" | grep -v -E "class|bak|old" | xargs sed -i 's/'"${11}"'.*/'"${12}"'/g'
echo ""
echo "replace.sh END ----------------"


https://stackoverflow.com/questions/25287009/perl-simple-regex-uppercase-words-separated-by-underscore/25287295

#!/usr/bin/perl

my $in =  "PRINT_THIS_TEXT_IN_CAMEL_CASE";
my $res =  under2camel ($in);
print "in:$in\tres:$res\n";



sub under2camel {
	my $str = shift @_;
	my $result;
	
	$str = lc $str;

	my @split = map(ucfirst, (split/(_)/, $str));

	my $result = "";
	foreach my $kk (0 .. $#split) {
#		print $split[$kk] . "\n";
		$result .= $split[$kk];
	}
	$result = lcfirst $result;
	$result =~ s/_//g;
	
	return $result;
}

-- '(' 앞에 공백 없어야 한다 (DBeaver 에서)
-- ? 은 output
 CALL PROC_MYPROCESS(
             'valueA' --commentA
            ,'valueB' --commentB
            ,? 
        );