shell 判断文件内容是否包含几行配置信息?如果没有,在指定行下添加内容

shell 判断文件内容是否包含几行配置信息?如果没有,在指定行下添加内容,第1张

假弯租芦设你是一个个string找,然型卖后没找到就添加:

#!/bin/sh

if grep -Fxq "A=1" my.cnf

then

echo "A=1 found"

else

sed -i '/\[mysqld\]/a A=1' my.cnf

fi

if grep -Fxq "B=‘C’" my.cnf

then

echo "B=‘埋带C’ found"

else

sed -i '/\[mysqld\]/a B=‘C’' my.cnf

fi

if grep -Fxq "D=abcd" my.cnf

then

echo "D=abcd found"

else

sed -i '/\[mysqld\]/a D=abcd' my.cnf

fi

我告诉你命令,你自己写

sed -n “5,10p” file ==>指尺弊友定从第5行陵槐到第十行卜喊

egrep "\<abc\>" file==>在file中查找abc这个单词(指定的字段)

#!/bin/bash

read -p "请输入目的内容:"  varchar

grep "$varchar" filename && sed -i "/$varchar/d" filename || echo $varchar >袭禅仔>filename

exit

详细解释:

第1行:申明/解释脚本用的是bash

第2行:用read读取你输入的拍汪内容,然后复制给varchar

第3行:在文件filename中查找刚刚你输入的内容,&&表示如果找到了内容就执行后面的命令,||表示如果没找到则执行后面的内容;那么完整解释就是,当前面查找到你输入的内容时,则执行sed -i "***/d" 删除命令,而没有查找到则执行||后面袭则的追加内容命令。

第4行:退出脚本

Ps:filename需要改成你说的那个文件的名字及路径。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12307428.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存