shell 05 ================================================ sed指令 除了p、d、s之外还有: a行下追加 i行上添加 c替换整行 sed 'a 666' user //所有行的下面追加666 sed '1a 666' user //第1行的下面追加666 sed '/^bin/a 666' user //在以bin开头的行的下面追加666 sed 'i 666' user //所有行的上面添加666 sed '5i 666' user //第5行的上面添加666 sed '$i 666' user //最后1行的上面添加666 sed 'c 666' user //所有行都替换成666 sed '1c 666' user //替换第1行为666 ------------------------------------------------------------------------ 编写脚本,找到系统使用bash的账户名,然后按照 用户名 --> 密码的格式存储在一个文件中 grep "bash$" /etc/passwd | sed 's/:.*//' //找到以bash结尾的用户 再用sed去掉用户后面:开始的所有内容,留下的就是用户名 sed -n '/bash$/s/:.*//p' /etc/passwd //用sed找到以bash结尾的用户 然后去掉用户后面:开始的所有内容,最后加p的作用是仅仅显示被 替换的行 #!/bin/bash u=$(sed -n '/bash$/s/:.*//p' /etc/passwd) //在文档中找到以bash结尾的行 并且将行中:以及:后面的所有内容替换为空,留下的就是用户的名字,然后将 这些名字放入变量u里面 for i in $u //把上一步找到的用户放入循环 do pass=$(grep $i /etc/shadow) //将每个人的密码信息找出 pass1=${pass#*:} //掐头<