<Linux Shell Script Chapter 3> - 쉘 스크립트 3

심우열·2023년 2월 9일
0

Linux Shell Script

목록 보기
6/17

13. globe 패턴

  1. echo * 로 현재 디렉토리의 파일목록 출력 가능
  2. echo ??? 로 현재 디렉토리의 파일목록에서 세글자인 항목만 출력 가능
  3. echo b?? 로 현재 디렉토리의 파일목록에서 b로 시작하는 세글자인 항목만 출력 가능
  4. '?'는 한글자와 대응되어 echo 명령어를 이용해 파일목록을 출력할때 사용 가능
  5. echo [abcd]* 로 현재 디렉토리의 파일목록에서 a,b,c,d 로 시작되는 항목만 출력 가능
  6. echo [a-d]* 로 현재 디렉토리의 파일목록에서 a~d에 해당하는 문자로 시작되는 항목만 출력 가능

14. 명령어(tr)

  1. tr 명령어는 지정한 문자를 바꾸어주거나 삭제하기 위한 명령 줄 유틸리티
  2. tr은 파일을 입력받는 명령어
    tr abcdefghijklmnopqrstuvwxyz ZABCDEFGHIJKLMNOPQRSTUVWXYZ <<<"Hello World": HDKKN WNQKC, '<<<' 는 HERE string을 의미함
  3. tr [:lower:][:upper:] <<< "Hello World": HELLO WORLD, '[:lower:][:upper:]' 는 POSIX character sets로, 문자 집합을 검색하는 더 새롭고 이식 가능한 방법이며, 소문자 출력을 대문자 출력으로 바꾸는 것을 의미함
  4. tr [:space:] '\t' <<< "Hello World": Hello World, 공백문자를 tab문자로 변경
  5. tr -s [:space:] <<< "Hello World": Hello World, 반복되는 공백문자를1글자로 축약
  6. tr -d [:space:] <<< "Hello World": HelloWorld, 모든 공백문자를 삭제
  7. tr -cd [:space:] <<< "Hello World": , 공백문자만 출력

15. 명령어(cut)

  1. cut 명령어를 통해 문자열의 원하는 부분만 추출 가능
  2. cut 명령어는 파일을 입력 받음
  3. cut -c2 fruits.txt: fruits.txt의 문자열중 2번째에 해당하는 문자만 선택하여 출력
  4. cut -c1-3 fruits.txt: fruits.txt의 문자열중 1~3번째에 해당하는 문자만 선택하여 출력
    5.cut -c3- fruits.txt: fruits.txt의 문자열중 3번째 이후에 해당하는 문자만 선택하여 출력
  5. cut -d':' -f1 /etc/passwd: /etc/passwd 의 구분자':'로 구분된 첫번째 필드만 출력

16. 확장 glob

  1. shopt -s extglob: 확장 glob 는 기본적으로 활성화 되어있지 않기 때문에 다음과 같은 명령어를 통해 활성화
  2. echo jpg bmp: 현재 디렉토리의 파일중 확장자가 jpg 이거나 bmp 인 항목 모두 출력
  3. echo !(jpg|bmp): 현재 디렉토리의 파일중 확장자가 jpg와 bmp가 아닌 항목 모두 출력
  4. echo @(jpg|bmP): 현재 디렉토리의 파일중 확장자가 jpg이거나 bmp 인 항목 모두 출력
  5. 기타 확장 glob

17. 쉘 스크립트 문법 검사 도구

  1. shellcheck.net: 쉘 스크립트 정적 분석 도구로 유용한 웹사이트
  2. 스크립트의 오류 검사

18. 컬러 텍스트

  1. 터미널에 출력되는 텍스트의 색상을 지정하는 방법

echo -e '\033[1;37;44mNew Color Prompt\033[0m'

1. \033 : 이스케이프
2. 1:스타일
3. 37: 폰트 색상, Foreground
4. 44m: 폰트 배경 색상, Background
5. New Color Prompt: 텍스트 내용

사용 가능 스타일 목록

사용 가능 색상 목록

profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글