イントロダクションと復習

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...