はじめに:エキスパートレベルのスクリプティング

正規表現、テキスト処理ツール(sed、awk)、プロセス管理、シグナル処理などの上級テクニックで複雑なサーバー管理も自動化できます。

1. 正規表現

# メタ文字
.      # 任意の1文字
^      # 行頭
$      # 行末
*      # 0回以上
[a-z]  # 文字クラス

# grep例
grep "^root" /etc/passwd
grep -E "error|warning" log

2. sed

sed 's/old/new/g' file         # 全置換
sed -i 's/old/new/g' file      # ファイル直接編集
sed '/^#/d' file               # コメント削除
sed '/^$/d' file               # 空行削除

3. awk

awk '{print $1}' file
awk -F: '{print $1}' /etc/passwd
awk '{sum += $1} END {print sum}' file
awk '/pattern/' file

4. プロセス管理

command &
pid=$!
wait $pid

5. シグナル処理

trap 'cleanup; exit' INT TERM
trap cleanup EXIT

まとめ

上級シェルスクリプトで複雑なテキスト処理、プロセス管理が可能になりました。次回はログ管理とモニタリングを解説します。