收藏文章 楼主

在字段块 修改指定内容 grep 匹配字符向下选择多行

版块:shell   类型:普通   作者:小绿叶技术博客   查看:1540   回复:0   获赞:9   时间:2021-05-27 18:16:04

setfile="1.log"                              # 定义一个文件变量,为指定文件


setn=(

`cat -n $setfile | grep -A 2 -w "\[AAADB\]" | grep "BACKUPFLAG" | awk -F" " '{print $1}'`

)

                                                    # cat -n 显示行号

                                                    # -w 精确匹配单词

                                                    # 定义一个数组变量,为查询结果的所有信息,为元素

                                                    # grep -A 配置,匹配命令grep到字符的行,指定范围行向下两行

                                                    # awk -F 指定间隔符号为空格,打印第一列



echo "需要修改的行:" ${setn[*]}   # 打印数组变量的所有元素


for i in ${setn[*]}                         # 定义for循环中的变量i 为数组中所有元素,直到循环完结束

do


sed -i "$i s/BACKUPFLAG.*/BACKUPFLAG=0/g" $setfile

                                                    # sed -i "$NR  s///g"  其中变量是制定行修改

done

cat $setfile

提供企业建站服务,免费网防系统,提交信息登录 http://yundun.ddoss.cn 邮箱: proposal@ddoss.cn 
回复列表
默认   热门   正序   倒序

回复:在字段块 修改指定内容 grep 匹配字符向下选择多行

头像

用户名:

粉丝数:

签名:

资料 关注 好友 消息