소개 및 복습

Bash 스크립팅 입문

Alex Scriven

Data Scientist

코스 소개

이 코스에서는 다음을 다룹니다:

  • 커맨드라인에서 Bash 스크립트로 전환
  • Bash 스크립팅의 변수와 데이터 타입
  • 제어문
  • 함수와 스크립트 자동화
Bash 스크립팅 입문

왜 Bash 스크립팅인가? (Bash)

먼저, 왜 Bash일까요?

  • Bash는 'Bourne Again Shell'의 약자입니다(말장난)

  • 80년대에 개발되었지만 현재도 매우 널리 쓰이는 셸입니다. 많은 Unix 시스템과 Mac의 기본 셸

  • Unix는 인터넷의 기반입니다! (ML 모델, 데이터 파이프라인 실행)

    • AWS, Google, Microsoft 모두 제품용 CLI를 제공합니다
Bash 스크립팅 입문

왜 Bash 스크립팅인가? (스크립팅)

그렇다면 왜 Bash 스크립팅일까요?

  • 셸 명령을 쉽게 실행(매번 복사-붙여넣기 불필요)
  • 강력한 프로그래밍 구성 요소 제공
Bash 스크립팅 입문

필수 선행 지식

 

이 코스는 기본 지식을 전제로 합니다.

  • 커맨드라인(터미널, 셸)의 개념 이해
  • cat, grep, sed 등의 기본 명령 사용 경험

감이 떨어졌다면 걱정 마세요. 지금 복습합니다!

Bash 스크립팅 입문

셸 명령 복습

중요한 셸 명령:

  • (e)grep: 정규식 패턴으로 입력 필터링
  • cat: 파일 내용을 줄 단위로 연결 출력
  • tail \ head: 마지막/처음 -n줄만 출력(플래그)
  • wc: 단어/줄 수 세기(플래그 -w -l)
  • sed: 패턴 매칭 기반 문자열 치환
Bash 스크립팅 입문

REGEX 복습

'Regex'(정규 표현식)은 Bash 스크립팅의 핵심 기술입니다.

파일과 파일 내 데이터 필터링, 인자 매칭 등 여러 용도로 자주 사용됩니다. 다시 짚고 가겠습니다.

정규식을 테스트하려면 regex101.com 같은 사이트를 활용하실 수 있습니다

Bash 스크립팅 입문

셸 연습

예제로 셸 명령을 복습해 보겠습니다.

3줄 데이터가 있는 텍스트 파일 fruits.txt가 있다고 합시다:

banana
apple
carrot

grep 'a' fruits.txt를 실행하면 다음이 반환됩니다:

banana
apple
carrot
Bash 스크립팅 입문

셸 연습

하지만 grep 'p' fruits.txt를 실행하면:

apple

대괄호는 매칭 집합입니다(예: [eyfv]). ^를 사용하면 반대 집합(해당 문자/숫자 제외)입니다

따라서 grep '[pc]' fruits.txt를 실행하면:

apple
carrot
Bash 스크립팅 입문

셸 연습

터미널에서 파이프를 사용해 보신 적이 있을 것입니다. 파일에 항목이 매우 많다면 sort | uniq -c를 쓸 수 있습니다

  • 첫 번째는 알파벳순 정렬, 두 번째는 개수 세기
  • 상위 n개만 보려면 wc -l로 개수를 얻고 head를 사용합니다
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Bash 스크립팅 입문

Ayo berlatih!

Bash 스크립팅 입문

Preparing Video For Download...