2017
年度計算数学
Ⅰ
第
10
回
6/15
Shell Script
⼀井信吾
ichii@ms.u-tokyo.ac.jp
Contents
1. 業務連絡 2. Shell Script
3. Shell Script 使 う 4. 正規表現
5. AWK
6. 本⽇ 実習 7. 次回予告
• 業務連絡
• 定例Windows Update
Shell Script
• Script = 台本
• フ 中⾝ シ 実⾏
• Unix / Linux コ ン フ
書
• 実⾏可能属性 与え
• フ 名=コ ン 名
• 上 下 順次実⾏
• け 嬉 い
• 同 何度 繰 返
• 作業⼿順 記録
• コ ン 打 間違い防⽌
$ cat > hello echo hello
uname pwd ^D
$ chmod +x hello $ ./hello
hello Linux
Shell Script
使 う
• 21世紀 Unix / Linux
使う shell script あ
⾔う⼈ あ
• cf. Windows PowerShell
• プロ ン 機能
あ
• 制御構造 • シ 変数
• 既存 コ ン 部品
使う
#! /bin/bash
fortune="大吉 中吉 小吉 吉
半吉 末吉 末小吉 凶 小凶 半
凶 末凶 大凶”
a=($fortune) n=${#a[*]}
r=$((RANDOM % $n))
echo 今日 運勢 ${a[$r]}
正規表現
• Regular expression
• 正則表現 ⽅ いい
• 決ま ー ⽂法 与
え パターン 合致
⽂字列 表
• 変化 満 世 中 情報
扱う ⼤変助け ま
• 凝 注意
• 正規表現 扱うUnixコ ン
• grep ... g/re/p
• キス ⽂字列 探 フ
タ
• 正規表現 与え パターン 検索
• sed ... stream editor
• ⽂字列 流 stream ⼊⼒ • 正規表現 ッチ ⽂字列 探
• そ ⽂字列 指定 変更 加
AWK
• 作者: Aho, Weinberger,
Kernighan
• ⾏ 区切 キス
ータ 処理
• ⾏内 複数フ ー あ
ータ 処理 便利
• 古 標準装備 い
shell script 重宝
• 古 い 速 いけ 私
本⽇ 実習
• Linux⼊⾨編最終回
• い う 各⾃ や ⽅
進 い
• Shell Script い
• Linux標準教科書第9章 シ
ス プ
• 実習資料集 丁寧 説明
いま
• 9.7 実際 シ ス プ
Ubuntu 当 ま
い ⾶ い
• 正規表現 い
• Linux標準教科書 4.5 grepコ
ン 記載 あ ま
• 正規表現 ソフ
若⼲違い あ ま
• Web検索 ⾊々情報 あ
ま
次回予告
• 次回以降2回 わ ス
プ ⾔語 扱いま
• シ ス プ 本格的
プロ ン ⼿軽 ⾏
えま
• ⾊々流⾏ あ ま