unix的shell编程中如何查找并替换文本中的内容
比如1.txt内容为a=1b=2c=3如何找到b=2这行,并改为b=4(在不知道b的值和b在1.txt中的哪一行的情况下,即找到b=这个字符串并用新的字符串替换等号后面的...
比如1.txt内容为
a=1
b=2
c=3
如何找到b=2这行,并改为b=4(在不知道b的值和b在1.txt中的哪一行的情况下,即找到b=这个字符串并用新的字符串替换等号后面的内容) 展开
a=1
b=2
c=3
如何找到b=2这行,并改为b=4(在不知道b的值和b在1.txt中的哪一行的情况下,即找到b=这个字符串并用新的字符串替换等号后面的内容) 展开
4个回答
展开全部
sed '/b=/s/[0-9]*$/4/' 1.txt
若要直接修改文件,请加 -i 选项。
若要直接修改文件,请加 -i 选项。
更多追问追答
追问
如果等号后面的内容不一定是个位数或者数字呢,我希望是当前行的等号后面的内容都替换,谢谢
追答
sed '/b=/s/=.*$/=4/' 1.txt
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用sed命令进行替换。支持正则表达。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sed 's/^\(b=\)\([0-9]\)$/\14/' urfile
更多追问追答
追问
如果等号后面的内容不一定是个位数或者数字呢,我希望是当前行的等号后面的内容都替换,谢谢
追答
那就把[0-9] 换成.*
sed 's/^\(b=\)\(.*\)$/\14/' urfile
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询