shell sed指令

本文详细介绍了Linux shell中sed指令的使用,包括行追加、行上添加和替换整行等操作,并展示了如何通过awk进行精确搜索和逐行处理。通过示例展示了如何查找使用bash的账户、收集网络流量和硬盘容量信息,以及使用awk的条件判断和数组功能来实现高级搜索。最后提到了明天的环境准备任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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#*:}    //掐头<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值