2021-03-11 shell sed命令 修改Info.plist配置

shell sed命令 修改Info.plist配置

sed命令

    sed   [-nefri]    'command'   文件路径     

具体细节参考 https://blog.csdn.net/lml282518588/article/details/52918765

使用sed修改文件某一行

PUSH_IS_ONLINE=0
echo $PUSH_IS_ONLINE

if [ $PUSH_IS_ONLINE -eq 1 ]; then
    PUSH_IS_ONLINE="\<true\/\>"
else
    PUSH_IS_ONLINE="\<false\/\>"
fi

echo ${PUSH_IS_ONLINE}

# sed -i '' "$(grep -np PUSH_IS_ONLINE Info.plist | awk -F ':' '{print $1+1}') s%^.*%    $PUSH_IS_ONLINE%" Info.plist

# <key>PUSH_IS_ONLINE</key>
# <true/>
# cat Info.plist
grep -np PUSH_IS_ONLINE Info.plist                                     #找出PUSH_IS_ONLINE这一行
grep -np PUSH_IS_ONLINE Info.plist | awk -F ':' '{print $1+1}'         #:分割分组,打印第一个变量值加1,得到目标行数
line=$(grep -np PUSH_IS_ONLINE Info.plist | awk -F ':' '{print $1+1}') #$(命令),计算命令执行结果
echo "line=${line}"                                                    #用双引号不是单引号,字符串字面量
sed -i '输出文件名字,原文件名添加后缀' "${line}s%^.*%   $PUSH_IS_ONLINE%" Info.plist # -i ''后面单引号内,表示会追加到输出文件的文件后面部分

输出结果

0
\<false\/\>
6:   <key>PUSH_IS_ONLINE</key>
7
line=7
[Finished in 0.1s]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。