Linux服务器管理完全攻略 第7篇:Shell脚本高级
Linux Server Administration Complete Guide Part 7
Linux服务器管理完全攻略系列
第6篇:Shell脚本基础 | 第7篇:Shell脚本高级 (当前) | 第8篇:日志管理
前言:专家级脚本技术
掌握正则表达式、文本处理工具(sed、awk)、进程管理、信号处理等高级技术,可以自动化复杂的服务器管理任务。
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
总结
高级Shell脚本技术使复杂的文本处理和进程管理成为可能。下一篇将讲解日志管理和监控。