[MDRM] 워크플로우 별 컴포넌트 명 취합 스크립트

환경(Environment) #

ProductAffected VersionsNote
MDRMMDRM 4.6.1 

목적(Purpose) #

  • 워크플로우 별 등록 된 컴포넌트를 확인 및 문서작성 필요 시 사용 
    • 사용예시)
      • 워크플로우 작성 확인용으로 각 프로세스 설치 장비 대수와 비교확인
      • 문서 작성 시 제출용으로 활용 가능

해결(Solution) #

  • 아래 내용으로 스크립트 생성
    • Path 부분 및 쿼리 중 like부분 상황에 따라 변경 필요
  • #!/usr/bin/bash
  • ### Path -- Need to Fix db=/home/jhpark/KB/db.txt ##DB목록 조회파일 경로 al_db=/home/jhpark/KB/al_db.txt ##DB목록 가공파일 경로 fin_wf_cp=/home/jhpark/KB/fin_wf_cp.txt ##워크플로우, 컴포넌트 파일 경로 result=/home/jhpark/KB/result.txt ##최종 조회 파일 경로 ### Content ### Need to change like part of query docker exec -i postgres bash << __EOS2__ > ${db} su - postgres psql -d mccs select b.title, b.wf_id, a.title from wf_components as a right join workflows as b on a.wf_id = b.wf_id where a.del_tm is null and a.cmp_type='2' and b.title like '%기동'; __EOS2__ cat ${db} | grep -Ev "rows\)|title|-+-" | sed -e "s/\$/,/"> ${al_db} wf_id_sum="$(awk -F '|' '{print $2}' ${al_db} | grep -Ev wf_id | sort -u)" cat /dev/null > ${fin_wf_cp} for wf_id in ${wf_id_sum}; do wf_title="$(cat ${al_db} | grep ${wf_id} | awk -F '|' '{ print $1"\t"}' | uniq)" wf_cp="$(cat ${al_db} | grep ${wf_id} | awk -F '|' '{print $3}')" echo ${wf_title} ${wf_cp} >> ${fin_wf_cp} done sed -e "s/,\$/ /" ${fin_wf_cp} > ${result}
  • 각 파일 별 캡처화면
    db=/home/jhpark/KB/db.txt                          ##DB목록 조회파일 경로
    Form>
                title        |          wf_id        |                   title
    ———————+———————+——————————————–
    <워크플로우명>|<워크플로우ID> |      <컴포넌트명>
    (<행 개수>)
    image-1658164566993.png al_db=/home/jhpark/KB/al_db.txt                ##DB목록 가공파일 경로
    Form>
    <워크플로우명>|  <워크플로우ID> |      <컴포넌트명>
    image-1658164909362.png
    fin_wf_cp=/home/jhpark/KB/fin_wf_cp.txt   ##워크플로우, 컴포넌트 파일 경로
    Form>
    <워크플로우명>   <컴포넌트명1>,<컴포넌트명2>,…,<컴포넌트명n>,
    image-1658165006099.png
    result=/home/jhpark/KB/result.txt                ##최종 조회 파일 경로
    Form>
    <워크플로우명>   <컴포넌트명1>,<컴포넌트명2>,…,<컴포넌트명n>
    image-1658165097698.png