[Linux] Bash shell script

adam adam·2022년 9월 7일
0

목표

각 파일명이 한글을 포함하는지 여부와 포함한다면 인코딩이 UTF-8 또는 EUC-KR 인지 판별하는 프로그램 코딩

기본개념 : shell and Script

(TO ME) 리눅스 서버에 접근하고 연결하는 내 모니터
(EX) ME <= powerShell => AWS linux 2

shell 시리즈

본 쉘(Bourne Shell, sh) - Steven Bourne , 씨 쉘(C Shell, csh) - Bill joy

=> bash, ksh, tcsh, zsh

=> Bash shell(Bourne Again Shell) is std of Linux shell - Brian Fox

aws linux 기본 쉘 확인

[ec2-user@ip-172-31-41-52 test]$ echo $SHELL
/bin/bash

시스템에 사용가능한 쉘의 리스트확인

[ec2-user@ip-172-31-41-52 test]$ cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh

관련 쉘 명령어

관련 명령어들을 모으고, 기본 쉘스크립트 문법 튜토리얼을 수행하자

파일 이름에 한글 탐지 명령어

현재 디렉토리 기준으로 파일명에 한글이 있다면 경로 리턴

find /경로 -type f | grep -P '[가-힣]'
find ./ -type f | grep -P '[가-힣]'

유의 아래와같이하면 루트디렉토리인 / 하위를 다찾아버림, 현재는 새 aws linux라서 금방 출력되었지만, 오래된 linux 서버에서 잘못쳤으면 하루종일 돌고있을듯, 물론 ctrl c 로 중간에 나올수있겠다만, cpu 급상승할듯

find / -type f | grep -P '[가-힣]'

파일 단위 인코딩 변환 명령어

파일별 인코딩 바꾸기

iconv -c -f utf-8 -t euc-kr 너.txt > 너이알.txt

디렉토리 단위 인코딩 변환 명령어

현재 디렉토리 기준 다 바꾸기, 어쩌면 효과적일지도

$ find . -type f -exec iconv -f euc-kr -t utf-8 "{}" -o path/to/destination/"{}" \;

https://m.blog.naver.com/monocho/220793325299

쉘스크립트 화 문법 관련 명령어들

bash shell script tutorial
https://www.tutorialspoint.com/unix/shell_scripting.htm

참고자료

  1. shell 이란
    https://m.blog.naver.com/pmw9440/221396318375

  2. 한글명 파일들을 찾자
    https://solbel.tistory.com/1218

  3. 찾은 한글명 파일들의 경로'들'을 바탕으로 inconv 적용하기
    ?

0개의 댓글