Linux(61)
-
read, awk - 한 줄 읽어서 여러 변수에 할당하기
data.txt 는 식별번호, IP, 포트, 접속URL 로 구성되어 있다. 문제) test 용 IP, 포트, 접속URL 을 read 1회 실행으로 구하는 코드를 작성하라. IP, PORT, URL 변수에 할당해야 한다. data.txt 의 내용 : # 0 - dev # 1 - test # 2 - prod 0,127.0.0.1,8080,/main.do 1,test.myapp.com,7777,/index.do 2,www.myapp.com,8888,/login.do 해결과정) 1) AWK 를 써서 첫 번째 값이 '1' (test) 인 줄만 출력한다. 2) ',' 를 구분자로 해서 2, 3, 4번째 열을 출력한다. grep -v '#' data.txt --- (실행결과) 0,127.0.0.1,8080,/main..
2023.12.30 -
date, read -p, while 을 활용한 정합성 검사 loop 로직
날짜입력 후 정합성 검사 본 게시글에서는 가장 해석하기 쉬운 yyyymmdd 포맷으로 입력을 받는다. 입력된 날짜 변수값을 활용해서 전후의 날짜를 만들어내려면 입력한 날짜 데이터가 순수 숫자인지 검사해야 한다. #!/usr/bin/bash # 숫자로만 이루어져 있는지 검사하는 패턴 NUM_PAT='^[0-9]+$' while [ true ] do # 날짜를 입력으로 받아서 DATE (변수) 에 저장한다. read -p '원하는 날짜를 입력하세요: ' DATE # DATE 변수값이 숫자로만 이루어졌는지 검사(변수값 =~ 패턴) if ! [[ $DATE =~ $NUM_PAT ]]; then echo 숫자만 입력하세요. # '1223' 처럼 년도를 지정하지 않으면 통과시키지 않음. elif [ ${#DATE}..
2023.12.23 -
정규식을 활용한 Underscore / Camel Case 전환 : INSERT 쿼리 생성
필요해서 퇴근 후에 만들었는데 현실에서 막상 사용하려고 하니 인터넷이 안되는 환경이었다. #!/bin/bash # 활용법 : 1번 인자 : 테이블명 2번 인자 : ("_"로 구분된) 컬럼명이 들어 있는 파일 function usage { prog_nm=$(basename $0) echo 'usage :' echo -e '\t'${prog_nm} 'table-name' 'camel-case-file' echo or # 테이블명을 지정하지 않으면 컬럼명만 처리함 echo -e '\t'${prog_nm} 'camel-case-file' } [[ $# -lt 1 ]] && usage && exit 0 function genSQL { [[ ! -f $FILE ]] && usage && exit 1 if [ ! -..
2023.08.11 -
Dockerfile
작성일 : 2018. 8. 20 Dockerfile 내용 : FROM debian:stable-slim MAINTAINER jh.han@mygenomebox.com RUN apt-get -y update COPY . /opt WORKDIR /opt RUN ln -s zulu8.31.0.1-jdk8.0.181-linux_x64 jdk "docker build" requires exactly 1 argument. See 'docker build --help'. Usage: docker build [OPTIONS] PATH | URL | - [flags] Build an image from a Dockerfile [mgblauncher@MGB-v2-FTP01 build]$ docker build --help ..
2023.08.01 -
[리눅스/윈도] awk : 필드 1개만 제외하고 전체 줄 출력하기
AWK 를 활용하면서도 말끔히 해결되지 못하고 기억 속 저편에 남아 있던 내 숙제. 다음과 같은 데이터 목록이 있다. $ history | grep sed > sed_grp $ cat sed_grp --- [실행결과] 369 sed -i '/.*노브랜드.*/s/$/ FOOD/g' PAY_LIST.txt 370 sed -i '/.*GS25.*/s/$/ CVS/g' PAY_LIST.txt 371 sed -i '/.*CU.*/s/$/ CVS/g' PAY_LIST.txt 372 sed -i '/.*이마트24.*/s/$/ CVS/g' PAY_LIST.txt 373 sed -i '/.*E-MART24.*/s/$/ CVS/g' PAY_LIST.txt 381 sed -i '/.*시장.*/s/$/ FOOD/g' PAY_..
2023.07.24 -
Postgresql - SQLite 로부터 가져오기
--------------------------------> 준비물 : pgloader 실행파일 (또는 패키지) 설치 가져올 SQLite DB파일 대상 postgresql 서버 정보 (사용계정, 호스트 IP:PORT) 작업 방법 : DBeaver 를 설치하면 만들어주는 연습용 테이블(SQLite)을 postgresql DB 로 옮기는 명령은 다음과 같다. pgloader(명령어) sqlite:///{SQLite DB파일 절대경로} pgsql://{postgres계정정보}@{postgres 호스트 정보}/{DB명} 실제 실행결과 : /home/user/EXAMPLE/sample-database-sqlite-1/Chinook.db pgsql://postgres:postgres@localhost:5432/po..
2023.07.23