代码语言:javascript复制
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