「Shell Script ライトクックブック2014-2016」目次 - ssr2016.html ▽印は、第2版で追加・内容修正を行ったレシピです。 ○印は、2014-2015(第3版)で追加・内容修正を行ったレシピです。 ◎印は、2014-2016(第4版)で追加・内容修正を行ったレシピです。 序章  デプロイやメンテに苦しむプログラマーへ ◎ソフトウェア業界にはびこる問題と、解決のための鍵 ◎プログラムに高い互換性と長い寿命を与えるPOSIX原理主義 ◎POSIX原理主義の中身 ◎POSIX原理主義プログラミングを始める ◎第4版発行にあたって 第1章 ちょっとうれしいレシピ レシピ1.1 ヒストリーを残さずログアウト レシピ1.2 sedによる改行文字への置換を、綺麗に書く ▽レシピ1.3 grepに対するfgrepのような素直なsed レシピ1.4 mkfifoコマンドの活用 ○レシピ1.5 一時ファイルを作らずファイルを更新する レシピ1.6 テキストデータの最後の行を消す レシピ1.7 改行無し終端テキストを扱う レシピ1.8 IPアドレスを調べる(IPv6も) レシピ1.9 YYYYMMDDhhmmssの各単位を簡単に分離する レシピ1.10 祝日を取得する レシピ1.11 ブラックリストの100件を1万件の名簿から除去する 第2章 利用者の陰に潜む、様々な落とし穴 レシピ2.1 【緊急】falseコマンドの深刻な不具合 レシピ2.2 名前付きパイプからリダイレクトする時のワナ ○レシピ2.3 /dev/stderr(inもoutも)でなぜかPermisson denied レシピ2.4 全角文字に対する正規表現の扱い ○レシピ2.5 sortコマンドの基本と応用とワナ レシピ2.6 sedのNコマンドの動きが何かおかしい ◎レシピ2.7 bashで動かすために注意すべきこと ×レシピ2.7 標準入力以外からAWKに正しく文字列を渡す レシピ2.8 AWKの連想配列が読むだけで変わるワナ ◎レシピ2.9 while readで文字列が正しく渡せない ◎レシピ2.10 あなたはいくつ問題点を見つけられるか!? 第3章 POSIX 原理主義テクニック レシピ3.1 PIPESTATUSさようなら レシピ3.2 Apacheのcombined形式ログを扱いやすくする レシピ3.3 シェルスクリプトで時間計算を一人前にこなす レシピ3.4 findコマンドで秒単位にタイムスタンプ比較をする レシピ3.5 CSVファイルを読み込む レシピ3.6 JSONファイルを読み込む レシピ3.7 XML、HTMLファイルを読み込む レシピ3.8 全角・半角文字の相互変換 レシピ3.9 ひらがな・カタカナの相互変換 ▽レシピ3.10 バイナリーデータを扱う ○レシピ3.11 ロック(排他・共有)とセマフォ ◎レシピ3.12 1秒未満のsleepをする ○レシピ3.13 デバッグってどうやってるの? 第4章 POSIX 原理主義テクニック ― Web編 レシピ4.1 URLデコードする レシピ4.2 URLエンコードする ▽レシピ4.3 Base64エンコード・デコードする レシピ4.4 CGI変数の取得(GETメソッド編) レシピ4.5 CGI変数の取得(POSTメソッド編) ◎レシピ4.6 Webブラウザーからのファイルアップロード レシピ4.7 シェルスクリプトおばさんの手づくりCookie(読み取り編) レシピ4.8 シェルスクリプトおばさんの手づくりCookie(書き込み編) レシピ4.9 Ajaxで画面更新したい レシピ4.10 HTMLテーブルを簡単綺麗に生成する ▽レシピ4.11 シェルスクリプトでメール送信 ○レシピ4.12 シェルスクリプトでメール送信(添付ファイル付き) ◎レシピ4.13 他のWebサーバーへのファイルアップロード ○レシピ4.14 メールマガジンを送る レシピ4.15 シェルスクリプトによるHTTPセッション管理 ◎レシピ4.16 Twitterに投稿する 第5章 どの環境でも使えるシェルスクリプトを書く レシピ5.1 $((式)) ◎レシピ5.2 /dev/stdin,stdout,stderr ◎レシピ5.3 `~`(コマンド置換) ◎レシピ5.4 [^~](シェルパターン) レシピ5.5 case文 レシピ5.6 if文 レシピ5.7 local修飾子 レシピ5.8 PIPESTATUS変数 ▽レシピ5.9 環境変数等の初期化 ○レシピ5.10 最終行の改行は、省略すべきでない レシピ5.11 シェル変数 レシピ5.12 スコープ ○レシピ5.13 正規表現 ○レシピ5.14 文字クラス レシピ5.15 乱数 レシピ5.16 ロケール レシピ5.17 "["コマンド ○レシピ5.18 AWKコマンド ◎レシピ5.19 bcコマンド レシピ5.20 dateコマンド レシピ5.21 duコマンド ▽レシピ5.22 echoコマンド ◎レシピ5.23 envコマンド レシピ5.24 execコマンド ▽レシピ5.25 foldコマンド レシピ5.26 grepコマンド レシピ5.27 headコマンド ◎レシピ5.28 iconvコマンド レシピ5.29 ifconfigコマンド レシピ5.30 killコマンド ▽レシピ5.31 mktempコマンド レシピ5.32 nlコマンド ◎レシピ5.33 odコマンド レシピ5.34 printfコマンド レシピ5.35 psコマンド ○レシピ5.36 readlinkコマンド ○レシピ5.37 sedコマンド ◎レシピ5.38 sleepコマンド レシピ5.39 sortコマンド レシピ5.30 tacコマンド・tailコマンド"-r"オプションによる逆順出力 レシピ5.41 test("[")コマンド ▽レシピ5.42 trコマンド レシピ5.43 trapコマンド ▽レシピ5.44 whichコマンド ▽レシピ5.45 xargsコマンド ○レシピ5.46 zcatコマンド 第6章 レシピを駆使した調理例 郵便番号から住所欄を満たすアレをシェルスクリプトで あとがき ○カバーの説明 ◎著者コメント ○表紙担当者コメント