리눅스 실제 사용 팁(105)
-
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 -
[리눅스] OCR 문자 인식 소프트웨어
네이버 지식iN 에 올라온 문제를 풀려다가 코드 사진을 발견했다. 스마트폰에는 이미지 뷰어 차원에서 문자인식 기능이 지원되는데 솔직히 이렇게 뽑아낸 텍스트를 폰에서 termux 터미널을 실행해서 vi 열고 컴파일 후 그 결과를 다시 지식iN 앱으로 휴.. 귀찮다. 그래서 혹시나 하는 생각에 리눅스에는 사진에서 텍스트를 뽑아내는 기능이 있지 않을까 하는 생각에 검색해보았다. 있었다. tesseract-ocr 패키지를 설치하면 된다. 어쩌면 안드로이드에 오픈소스 라이브러리를 활용하는 앱들이 흔히 발견되는데, 이 라이브러리가 사용되었을지도 ... ㅎㅎㅎ 핵심 패키지는 텍스트를 인식하는 tesseract-ocr 이지만, GUI 로 접근하는 방법도 있다. gimagereader 패키지를 설치하면 아래와 같은 애플..
2023.12.05 -
Docker - Maria DB 실행 및 설정
$ docker run -itd mariadb --- (실행결과) mariadb 이미지가 설치되어 있지 않아서 스스로 내려 받는다. Unable to find image 'mariadb:latest' locally latest: Pulling from library/mariadb cbe3537751ce: Pull complete 5bfcd11f8751: Pull complete ed018e89b8db: Pull complete 3e4cf40a46f9: Pull complete 938b1b815dca: Pull complete 07e09e75520d: Pull complete 82012f0ef36f: Pull complete 6430910462f4: Pull complete Digest: sha256:c0..
2023.12.02 -
정규식을 활용한 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 -
Docker : Oracle Database
~$ sudo docker pull container-registry.oracle.com/database/free:latest latest: Pulling from database/free 031aed3cb40e: Pull complete 064e6354b87b: Pull complete e0e26966d0d9: Downloading [========================> ] 1.311GB/2.649GB 0d1f063a4da2: Download complete 데비안에서 설치하기 힘든 오라클을 손쉽게 접할 수 있는 길이 열렸다. 이미 존재하고 있었는지 모르겠다만 그래도 알아서 설치된 이미지를 받을 수 있어서 좋다. ~$ sudo docker images REPOSITORY TAG IMAGE ID..
2023.08.08