[Linux] 텍스트 파일 관련 명령어 / 리다이렉션&파이프 / 정규표현식


🐧 텍스트 파일 관련 명령어


  • cat

    • cat [옵션] [파일]

    • 파일의 내용을 출력

  • head

    • head [옵션] 파일명

    • 파일의 앞부분을 지정한 만큼 출력, 지정하지 않는 경우 10개씩 출력

  • tail

    • tail [옵션] 파일명

    • 파일의 마지막 행을 기준으로 지정한 만큼 출력, 지정하지 않는 경우 10개씩 출력

  • more

    • more [옵션] 파일명

    • 파일을 화면 단위로 끊어서 출력

    • 위에서 아래 방향으로만 출력, 지나간 내용을 다시 볼 수 없음

  • grep

    • grep [옵션] 문자열 파일명

    • 파일에서 특정 패턴(문자열) 또는 졍규 표현식으로 나타낸 단어를 찾는 명령어

  • wc

    • wc [옵션] 파일명

    • 파일의 라인 수(-l), 단어 수(-w), 알파벳 수(-c)를 출력

  • sort

    • sort [옵션] 정렬할파일명

    • 명령어 결과 또는 문서 내용을 정렬

  • cut

    • cut [옵션] 파일명

    • 파일에서 특정 필드 추출, 필드는 구분자로 구분

  • split

    • split [옵션] 파일명

    • 하나의 파일을 여러 개의 작은 파일로 분리

    • 라인 수 또는 용량 단위로 분할 가능

    • 파일을 나누어 복사하거나 백업할 때 유용



🐧 리다이렉션(redirection) & 파이프(pipe)


  • 리다이렉션(redirection)

    • 표준 입력과 표준 출력의 방향을 재지정

    • 표준 입출력/에러가 화면이 아닌 파일로 대체됨

    • 표준 입력 장치는 키보드, 표준 출력/에러 장치는 모니터

    • 리다이렉션 연산자

      • > : 명령을 화면이 아닌 프린터나 파일에 출력하도록 전송, 파일이 존재하지 않으면 새로운 파일을 생성하고 같은 파일이 존재한다면 덮어씀

      • >> : 파일이 있는 경우 지정된 파일에 결과를 추가, 파일이 존재하지 않으면 지정된 이름으로 파일 생성

      • < : 키보드가 아닌 지정된 파일에서 입력 내용을 읽어옴

      • >& : 명령의 출력을 다른 명령의 입력으로 보냄

      • <& : 명령의 입력을 읽고 다른 명령의 출력으로 보냄

  • 파이프(pipe)

    • 둘 이상의 명령을 함께 묶어 출력 결과를 다른 프로그램의 입력으로 전환하는 기능

    • 현재 명령의 표준 출력을 다음 명령의 표준 입력으로 사용

    • 명령어와 명령어의 연결은 ‘|’ 기호 사용

    • 명령어1 | 명령어2 | 명령어3 : 명령어1의 출력 결과는 명령어2의 입력으로 처리, 명령어2의 처리 결과는 명령어3의 입력이 됨

    • 더 이상 처리할 명령어가 없을 때 표준 출력 장치(화면)으로 출력



🐧 정규표현식


  • ^ : 라인의 첫 글자

    • ex) ^a : a로 시작하는 문자
  • $ : 라인의 끝 글자

    • ex) a$ : a로 끝나는 문자
  • . : 한 글자

    • ex) a..b : a와 b 사이에 두 개의 문자가 들어있는 단어
  • [] : []에 나열된 글자를 포함, ‘-‘로 문자 범위 지정

    • ex) [abc]d : ad,bd, cd

    • ex) [1-9] : 1~9 중 하나의 숫자

  • [^] : []에 나열된 글자를 포함하지 않음, ‘-‘로 문자 범위 지정

    • ex) [^abc]d : ad, bd, cd는 포함하지 않음

    • ex) [^a-z] : 알파벳 소문자로 시작하지 않는 모든 문자

  • * : * 기호 바로 이전의 글자가 0회 이상 반복

    • ex) ab* : a, abb, abbb 등과 같이 b가 0회 이상 반복
  • + : + 기호 바로 이전 글자가 1회 이상 반복

    • ex) ab+ : ab, abb, abbb
  • ? : ? 기호 바로 이전 글자가 없거나 한 번만 존재

    • ex) ab? : a, ab
  • () : 부분 정규 표현식을 표시

    • ex) a(bc)+ : bc 1회 이상 반복
  • | : 로 구분된 단어들 중 최소 하나 존재
    • ex) a(b|c) : b또는 c가 최소 하나 존재
  • {m, n} : { } 바로 이전 글자가 m개 이상 n개 이하로 반복

    • ex) a{1,2}b : ab, aab

Categories:

Linux   리눅스