linux文本替换,将文本b中内容替换到文本a中指定字符串之间 255

有文件A内容如下<colorname="vector_bg">#ff55c2bc</color><colorname="background_primary">#ffff... 有文件A内容如下
<color name="vector_bg">#ff55c2bc</color><color name="background_primary">#ffffffff</color><color name="action_mode_title_text_p">#cdffffff</color>
......有文件B内容如下
0AF5c8
0AFDc8
00F3BE
0A3569
0A3F7A
0C1F49
……
希望将文本B从m行到n行之间的内容,依次替换到文本A中指定字符串之间>#********</color>,并将#后面的两个字符都改为FF,替换完成后保存到文件A
<color name="vector_bg”>#FF00F3BE</color>
<color name="background_primary”>#FF0A3569</color>
<color name="action_mode_title_text_p”>#FF0A3F7A</color>
没有分了,求好心大佬帮忙,感激不尽。
展开
 我来答
wallcopper
2018-12-27 · TA获得超过3447个赞
知道大有可为答主
回答量:1986
采纳率:86%
帮助的人:1813万
展开全部

1、思路:提前修改b.txt文件内容为

<color name="vector_bg”>#FF00F3BE</color>
<color name="background_primary”>#FF0A3569</color>
<color name="action_mode_title_text_p”>#FF0A3F7A</color>

2、在m行做标记<! -- start -->

3、对a.txt执行m-n行删除

sed -i '11,20d' a.txt

4、将b.txt内容插入至<! -- start -->

sed -i "/start/r b.txt" a.txt

追问
有好几千个#********标签开头的行
l7722526
2018-12-26 · TA获得超过2.7万个赞
知道大有可为答主
回答量:2.8万
采纳率:84%
帮助的人:3781万
展开全部
import os os.chdir('d:\\') # 跳到D盘 if not os.path.exists('pp.txt'): # 看一下这个文件是否存在 exit(-1) #,不存在就退出 lines = open('pp.txt').readlines() #打开文件,读入每一行 fp = open('pp2.txt','w') #打开你要写得文件pp2.txt for s in lines: fp.write( s.replace('love','hate').replace('yes','no')) # replace是替换,write是写入 fp.close() # 关闭文件
追问
大佬没反应
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式