shell实现查询某一单一字符串所在行,并替换其内容

脚本如下,注意key必须唯一,不然会有问题,使用方法是./change.sh filename key value
分别传入 文件名 键 值
change.sh

#!/bin/bash
#匹配key=value,且key唯一
# ./change.sh filename key value
filename=$1
key=$2
value=$3
# 获取key的行号
line=$(grep -n "$2" $filename | cut -d ":" -f 1)
#echo $line

# 修改文件$1,行号为line的内容
line=$line"c $key=$value"
sed -i "$line" $filename
#echo "sed -i "$line" $filename"

如果不是 key=value的情况,请修改第二个line的内容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章