案例1:sed综合脚本应用
案例2:使用awk提取文本
案例3:awk处理条件
案例4:awk综合脚本应用
1 案例1:sed综合脚本应用
1.1 问题
本案例要求编写脚本getupwd.sh,实现以下需求:
找到使用bash作登录Shell的本地用户
列出这些用户的shadow密码记录
按每行“用户名 --> 密码记录”保存到getupwd.log,如图-1所示

图-1
1.2 方案
基本思路如下:
先用sed工具取出登录Shell为/bin/bash的用户记录,保存为临时文件/tmp/urec.tmp,并计算记录数量
再结合while循环遍历取得的账号记录,逐行进行处理
针对每一行用户记录,采用掐头去尾的方式获得用户名、密码字串
按照指定格式追加到/tmp/getuupwd.log文件
结束循环后删除临时文件,报告分析结果
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:编写getupwd.sh脚本
[root@svr5 ~]# vim ./getupwd.sh
#/bin/bash
A= ( s e d − n ′ / b a s h (sed -n '/bash (sed−n′/bash/s/:.//p’ /etc/passwd) ## 提取符合条件的账号记录
for i in KaTeX parse error: Expected 'EOF', got '#' at position 43: … #̲#遍历账号记录 do …(grep i / e t c / s h a d o w ) p a s s 2 = i /etc/shadow) pass2= i/etc/shad