본문 바로가기
📄Document/🔥Linux

[Linux] 리다이렉션, 파이프, 정규표현식(정규식)

by 후누스 토르발즈 2021. 12. 21.
반응형

 

 

Cent OS 7 / Linux kernel / bash

 

 

 

리다이렉션(redirection)

  • 표준 입력과 표준 출력의 방향을 재지정하는 것
  • 표준 입력/출력/에러가 화면이 아닌 파일로 대체. 즉, 모니터로 출력(에러)될 것을 파일로 재지정
  • 표준 입력 장치는 키보드, 표준 출력 장치와 표준 에러 장치는 모니터
연산자 설명
> 명령을 화면에 출력하는 것이 아니라 프린터나 파일에 출력하도록 전송
파일이 존재하지 않으면 새로운 파일을 만들고 같은 파일이 존재하면 덮어씀
>> 파일이 있는 경우 지정된 파일에 결과를 추가
파일이 존재하지 않으면 지정된 이름으로 파일 생성
< 키보드가 아닌 지정된 파일에서 입력 내용을 읽어옴
>& 명령의 출력을 다른 명령의 입력으로 보냄
<& 명령의 입력을 읽고 다른 명령의 출력으로 보냄

 

 

 

 

 

파이프(Pipe)

  • 명령어1 | 명령어2 | 명령어3
  • 둘 이상의 명령을 함께 묶어 출력 결과를 다른 프로그램의 입력으로 전환하는 기능
  • 현재 명령의 표준 출력을 다음 명령의 표준 입력으로 사용하는 것
  • 명령어와 명령어의 연결은 '|' 기호를 사용
  • 명령어1의 출력결과는 명령어2의 입력으로 처리되며 명령어2의 처리결과는 명령어3의 입력이 됨
  • 더이상 처리할 명령어가 없으면 표준 출력 장치인 화면으로 출력

 

 

 

 

 

 

정규표현식(Regular Expression)

  • 정규표현식 또는 정규식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.
  • 정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있다.
  • 일부는 펄, 자바스크립트, 루비, Tcl처럼 문법에 내장되어 있는 반면 닷엣 언어, 자바, 파이썬, POSIX C, C++ 등 에서는 표준 라이브러리를 통해 제공한다.
기호 의미 사용 예 설명
^ 라인의 첫 글자 ^a a로 시작하는 문자
$ 라인의 끝 글자 a$ a자로 끝나는 문자
. 한 글자 a..b a와 b 사이에 3개의 문자가 들어있는 단어
 [] 대체 글자 목록을 []에 나열
"-"로 문자의 범위 지정
[abc]d ad, bd, cd를 뜻함
a, b, c 중 어떤 한 글자라도 반드시 있는 단어
"[a-z]" : a부터 z까지 중 하나의 문자
"[1-9]" : 1부터 9까지 중 하나의 숫자
[^] 대체 못할 글자 목록 [^]에 나열
"-"로 문자의 범위 지정
[abc]d ad, bd, cd는 포함하지 않고 ed, fd 등을 포함
[^a-z] : 알파벳 소문자로 시작하지 않는 모든 문자
+ + 기호 바로 이전 글자나 정규 표현식이 1회 이상 반복 abc+ c가 1회 이상 반복
예) abc, abcc, abccc 등
? ? 기호 바로 이전 글자나 정규 표현식이 없거나 1회만 존재 abc? c가 없거나 한 번만 존재
예) ab, abc
() 부분 정규 표현식의 시작과 끝을 표시 a(bc)*
a(bc)+
a(bc)?
bc가 0회 이상 반복 : a, abc,abcbc등
bc가 1회 이상 반복 : abc, abcbc등
bc가 있거나 없거나 : a, abc
| |로 구분된 단어들 중 최소 하나 존재 a(b|c) b 또는 c가 최소 하나 존재
예) ab, ac, abc, acd
{m, n} {} 기호 바로 이전 글자나 정규 표현식이 m개 이상 n개 이하 반복 a{1,3}b 'ab', 'aab', 'aaab'를 포함하지만, 'b'나 'aaaab'는 포함하지 않음

 

 

 

 

 

 

 

참조: 이기적 리눅스마스터

반응형