インフォメーション
すべてのUNIXで20年動くプログラムはどう書くべきか
デプロイ・保守に苦しむエンジニア達へ贈る[シェルスクリプトレシピ集]
- 書名
- すべてのUNIXで20年動くプログラムはどう書くべきか 〜デプロイ・保守に苦しむエンジニア達へ贈る[シェルスクリプトレシピ集]〜
- 著者
- 松浦智之
- 価格
- 2,500円(税抜)
- 仕様
- A5判、256ページ
- ISBN
- 978-4863541771
POSIXの範囲でかつUNIX哲学的アプローチで解決したシェルスクリプトを多数例示し、高い可搬性・可用性を実現しつつ実用的なプログラムを書く方法を紹介。
amazon.co.jp / 注文フォーム / お問い合わせ
プログラミング上よくある課題を、極力POSIXの範囲で、かつUNIX哲学的アプローチで解決したシェルスクリプトを多数例示し、高い可搬性・可用性を実現しつつ実用的なプログラムを書く方法を紹介。下記のような内容が満載。
- 環境に依存せず、長持ちするプログラムの書き方(環境依存を引き起こす落とし穴)
- 環境に依存しない正規表現の書き方
- シェルスクリプトで処理を行うための、たくさんの小技(レシピ)
- シェルスクリプトは意外に速くて機能も豊富という事実
- プログラム制作で参考になるUNIX哲学
- 序章 POSIX原理主義:その本質と可能性、実践方法を理解する
- 第1章 どの環境でも使えるシェルスクリプトを書く …… 文法・変数編
- 1-1 環境変数などの初期化
- 1-2 シェル変数
- 1-3 スコープ
- 1-4 正規表現
- 1-5 文字クラス
- 1-6 乱数
- 1-7 ロケール
- 1-8 $(( 式 ))
- 1-9 case文/if 文
- 1-10 local修飾子
- 1-11 PIPESTATUS変数
- 第2章 どの環境でも使えるシェルスクリプトを書く …… 正規表現編
- 2-1 知っておくべきメタ文字セットは3つ
- 2-2 BRE(基本正規表現)メタ文字セット
- 2-3 ERE(拡張正規表現)メタ文字セット
- 2-4 AWKで使えるメタ文字セット
- 第3章 どの環境でも使えるシェルスクリプトを書く …… コマンド編
- 3-1 「[」コマンド
- 3-2 AWKコマンド
- 3-3 dateコマンド
- 3-4 duコマンド
- 3-5 echoコマンド
- 3-6 execコマンド
- 3-7 foldコマンド
- 3-8 grepコマンド
- 3-9 headコマンド
- 3-10 ifconfigコマンド
- 3-11 killコマンド
- 3-12 mktempコマンド
- 3-13 nlコマンド
- 3-14 printfコマンド
- 3-15 psコマンド
- 3-16 readlinkコマンド
- 3-17 sedコマンド
- 3-18 sortコマンド
- 3-19 tacコマンド/tailコマンド+ -rオプションによる逆順出力
- 3-20 test([)コマンド
- 3-21 trコマンド
- 3-22 trapコマンド
- 3-23 whichコマンド
- 3-24 xargsコマンド
- 3-25 zcatコマンド
- 第4章 Hors d'oeuvre:ちょっとうれしいレシピ
- 4-1 sedによる改行文字への置換を、キレイに書く
- 4-2 grepに対するfgrepのような素直なsed
- 4-3 mkfifoコマンドの活用
- 4-4 一時ファイルを作らずファイルを更新する
- 4-5 テキストデータの最後の行を消す
- 4-6 改行なしの終端テキストを扱う
- 4-7 IPアドレスを調べる(IPv6も)
- 4-8 YYYYMMDDhhmmssを年月日時分秒に簡単分離する
- 4-9 祝日を取得する
- 4-10 ブラックリスト入りした100件を1万件の名簿から除去する
- 第5章 POSIX原理主義テクニック
- 5-1 PIPESTATUSさようなら
- 5-2 Apacheのcombined形式ログを扱いやすくする
- 5-3 シェルスクリプトで時間計算を一人前にこなす
- 5-4 findコマンドで秒単位にタイムスタンプ比較する
- 5-5 CSVファイルを読み込む
- 5-6 JSONファイルを読み込む
- 5-7 XML、HTMLファイルを読み込む
- 5-8 全角・半角文字の相互変換
- 5-9 ひらがな・カタカナの相互変換
- 5-10 バイナリデータを扱う
- 5-11 ロック(排他・共有)とセマフォ
- 5-12 デバッグってどうやってるの?
- 第6章 POSIX原理主義テクニック …… Web編
- 6-1 URLデコードする
- 6-2 URLエンコードする
- 6-3 Base64エンコード・デコードする
- 6-4 CGI変数の取得(GETメソッド編)
- 6-5 CGI変数の取得(POSTメソッド編)
- 6-6 Webブラウザーからのファイルアップロード
- 6-7 Ajaxで画面更新したい
- 6-8 シェルスクリプトでメール送信
- 6-9 メールマガジンを送る
- 6-10 HTMLテーブルを簡単キレイに生成する
- 6-11 シェルスクリプトおばさんの手づくりCookie(読み取り編)
- 6-12 シェルスクリプトおばさんの手づくりCookie(書き込み編)
- 6-13 シェルスクリプトによるHTTPセッション管理
- 第7章 知らないとハマるさまざまな落とし穴
- 7-1 名前付きパイプからリダイレクトするときの落とし穴
- 7-2 全角文字に対する正規表現の扱い
- 7-3 sortコマンドの基本と応用と落とし穴
- 7-4 sedのNコマンドの動きが何かおかしい
- 7-5 標準入力以外からAWKに正しく文字列を渡す
- 7-6 AWKの連想配列が読み込むだけで変わる落とし穴
- 7-7 whlie readで文字列が正しく渡せない
- 7-8 あなたはいくつ問題点を見つけられるか?
- 付録 レシピを駆使した調理例
- 郵便番号から住所欄を満たすアレをシェルスクリプトで