본문 바로가기
Linux & UNIX

쉘 작성 끝판왕!

by fabxoe 2021. 6. 9.

 

POSIX 기본 및 확장 문법

패턴을 기술하기 위한 다양한 메타 문자들

  • .: 뉴라인을 제외한 한 개의 문자와 일치함
  • ?: 자신 앞에 나오는 정규 표현식이 없거나 하나가 일치하며, 대부분 한 개의 문자와 매칭할 때 사용함
  • *: 바로 앞 문자열이나 정규 표현식에서 한번 이상 반복되는 문자
  • +: 자신 앞에 나오는 하나 이상의 정규 표현식과 일치함. *과 비슷하게 동작하지만 반드시 하나 이상일 경우에만 일치함.
  • {N}: 정확히 N번 일치함
  • {N,M}: N번 또는 그 이상 일치함
  • -: A부터 Z를 A-Z로 표현하듯, 알파벳이나 숫자의 범위를 나타낼 때 사용
  • ^: 라인의 시작에서 공백 문자열을 의미함. 또한 목록의 범위에 없는 문자들을 의미함
  • $: 라인 마지막에서 공백 문자열을 의미함
  • ^$: 빈 줄과 일치함
  • [...]: 대괄호는 단일 정규 표현식에서 문자들을 집합으로 묶어줌
  • \: 특수 문자를 원래의 문자 의미대로 해석함
  • \b: 단어 끝의 공백 문자열을 의미함
  • \B: 라인 끝의 공백 문자열을 의미함
  • \<: 단어 시작에서 공백 문자열을 의미함
  • \>: 라인 끝에서 공백 문자열을 의미

POSIX 문자 클래스

찾고자 하는 문자열의 종류

  • [:alnum:]: 알파벳이나 숫자로 이루어진 문자열. [A-Za-z0-9]와 같은 표현임
  • [:alpha:]: 알파벳 문자를 의미하며 [A-Za-z]와 같은 표현임
  • [:blank:]: 스페이스나 탭을 의미함
  • [:cntrl:]: 제어 문자들을 의미함
  • [:digit:]: 0~9 사이의 숫자를 의미함 [0-9]와 같은 표현임
  • [:graph:]: 출력 가능한 그래픽 문자들로 ASCII 33~126 사이의 문자들과 일치함. 스페이스 및 제어 문자들을 제외한 [:print:]와 같음
  • [:print:]: 출력 가능한 그래픽 문자들로 ASCII 32~126 사이의 문자들과 일치함. [:graph:]와 비슷하지만 스페이스 문자를 포함
  • [:punct:]: 문장 부호 문자들을 의미함
  • [:space:]: 뉴라인 줄바꿈, 스페이스, 탭과 같은 모든 공백 문자들을 의미함
  • [:upper:]: 알파벳 대문자를 의미하며 [A-Z]와 같은 표현임
  • [:lower:]: 알파벳 소문자를 의미하며 [a-z]와 같은 표현임
  • [:xdgit:]: 16진수의 숫자와 문자를 의미하며 [0-9a-fA-F]와 같은 표현임

https://velog.io/@200ok/Shell-Script-%EC%A1%B0%EA%B1%B4%EB%AC%B8%EB%B0%98%EB%B3%B5%EB%AC%B8%EC%97%B0%EC%82%B0%EC%9E%90%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D

 

 

[Shell Script] 조건문, 반복문, 연산자, 정규표현식

쉘 스크립트를 만들거나 사용할 때 가장 많이 쓰이는 문법과 정규 표현식들을 알아보자.

velog.io

 

이 곳 글을 참고할 것 너무나 정리가 잘되어 있다.

댓글