高级Shell脚本编程与Linux编程指南
1. 高级Shell脚本编程
在Shell脚本编程中,我们可以通过结合sed和awk这两个强大的工具,将脚本的功能提升到一个新的高度。
1.1 尝试使用sed命令
假设我们有一个以冒号分隔的员工数据库,包含唯一ID号、姓名、部门、电话号码和地址五个字段。示例如下:
1218:Kris Cottrell:Marketing:219.555.5555:123 Main Street 1219:Nate Eichhorn:Sales:219.555.5555:1219 Locust Avenue 1220:Joe Gunn:Payables:317.555.5555:21974 Unix Way 1221:Anne Heltzel:Finance:219.555.5555:652 Linux Road 1222:John Kuzmic:Human Resources:219.555.5555:984 Bash Lane由于电话公司将部分地区的电话号码前缀从 219 改为 260,我们需要更新数据库中所有使用该前缀的条目。这正是sed命令的用武之地。
- 简单替换:使用
sed 's/219/260/'命令,会出现一些问题,如员工ID号中的 219 也会被替换,地址中包含 219 的部分也会被修改。