Linuxサーバー管理完全攻略 第7編:シェルスクリプト上級
Linux Server Administration Complete Guide Part 7
Linuxサーバー管理完全攻略シリーズ
第6編:シェルスクリプト基礎 | 第7編:シェルスクリプト上級 (現在) | 第8編:ログ管理
はじめに:エキスパートレベルのスクリプティング
正規表現、テキスト処理ツール(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
まとめ
上級シェルスクリプトで複雑なテキスト処理、プロセス管理が可能になりました。次回はログ管理とモニタリングを解説します。