月刊シェルスクリプトマガジン

覚えて便利 いますぐ使える! シェルスクリプトシンプルレシピ54

シェルスクリプトを習得するにあたって、越えなければならないいくつかの壁があります。
本書は、変数、数値、文字列、ファイル操作…様々な局面において壁にぶつかったとき、それを乗り越えるための本質的な回答を54本収録したレシピ集です。
本書には、初心者を卒業し、シェルスクリプトの匠を目指す人であれば学んでおきたいノウハウが、薄い本の中にこれでもか!と詰まっています。
収録されている54のレシピを習得すれば、シェルスクリプトの世界がそれを足がかりに広がっていくことを感じられるはずです。
シェルの深みを知り、より高みを目指したいあなたにこそ、手にとっていただきたい一冊です。

目次

第1章 基本的な作業

レシピ1-1 C言語のようなforループ
レシピ1-2 C言語のようなforループ―その2―(ムダ知識編)
レシピ1-3 誤作動しない正しい文字列評価のしかた
レシピ1-4 対話的な入力受けつけ
レシピ1-5 標準エラー出力を使うプログラムの扱い
レシピ1-6 標準エラー出力を自ら使う

第2章 変数操作

レシピ2-1 変数名の記述ミスへの対策
レシピ2-2 変数を未定義化する
レシピ2-3 変数が未定義かどうか判別する
レシピ2-4 子プロセスへの変数渡し
レシピ2-5 親プロセスへの変数渡し
レシピ2-6 配列変数を使う
レシピ2-7 連想配列を使う

第3章 数値操作

レシピ3-1 Basic並の高度な計算をする
レシピ3-2 四捨五入する
レシピ3-3 乱数を得る
レシピ3-4 10進数⇔16進数および10進数⇔8進数変換
レシピ3-5 10進数⇔2進数変換
レシピ3-6 数字として扱える文字列かどうかの判定

第4章 文字列操作

レシピ4-1 文字列の長さを知る(len)
レシピ4-2 文字列の一部を抽出する(left$,mid$,right$)
レシピ4-3 大文字⇔小文字変換
レシピ4-4 ASCIIコード⇔キャラクタ変換(asc,chr$)
レシピ4-5 正規表現でマッチした文字列の取り出し
レシピ4-6 特定文字のトリミング
レシピ4-7 パス名中のファイル名・ディレクトリ名を抽出する
レシピ4-8 ランダムな文字列の作成

第5章 フィールド・ライン処理

レシピ5-1 コマンド引数を処理する
レシピ5-2 最後からn番目のフィールドを得る
レシピ5-3 特定の業を出力する
レシピ5-4 1行ごとに処理をする―その1―
レシピ5-5 1行ごとに処理をする―その2~4―
レシピ5-6 並べ替え(ソート)をする
レシピ5-7 CSV形式のデータの処理
レシピ5-8 1列ごとに処理をする

第6章 ファイル操作

レシピ6-1 詳細なファイル情報を知る
レシピ6-2 タイムスタンプを変更する
レシピ6-3 指定ディレクトリ以下のファイルの総サイズを知る
レシピ6-4 指定ディレクトリ以下の特定のファイルを操作する
レシピ6-5 安全にテンポラリファイルを作る
レシピ6-6 デッドリンク(無効なシンボリックリンク)を消す
レシピ6-7 外部ファイルのヒアドキュメント

第7章 システム情報収集

レシピ7-1 OSの種類を知る
レシピ7-2 自分のファイルパスを知る
レシピ7-3 自分のプロセスIDを知る
レシピ7-4 現在のプロセス数を知る
レシピ7-5 自ホストのIPアドレスを知る
レシピ7-6 絶対パスを知る
レシピ7-7 多重起動チェック

第8章 デバッグに役立つレシピ

レシピ8-1 実行の様子をトレースする
レシピ8-2 デバッグメッセージを分離する
レシピ8-3 パイプ(標準入出力)の中身を覗き見る
レシピ8-4 パイプ(標準入出力)をゆっくり流す

第9章 シェルスクリプトの応用例