早教吧 育儿知识 作业答案 考试题库 百科 知识分享

linux下查找某一行替换前后行我这里有一个很大的表,希望将数据重新整理mX10/X0/X0/X0X0/X0/X0/X0/X0/M5+Nnoxref1711X10/X0/X0/X0/X0/X0/X0/X0/M5d+Nwwl0X10/X0/X0/X0/X0/X0/X0/X0/X0/M5g+Nwbl128X10/X0/X0/X0/X0/X0/X0/X0/

题目详情
linux下 查找某一行 替换前后行
我这里有一个很大的表,希望将数据重新整理
mX10/X0/X0/X0X0/X0/X0/X0/X0/M5
+ N_noxref_1711_X10/X0/X0/X0/X0/X0/X0/X0/M5_d
+ N_wwl0_X10/X0/X0/X0/X0/X0/X0/X0/X0/M5_g
+ N_wbl128_X10/X0/X0/X0/X0/X0/X0/X0/X0/M5_s
……………………
表格中有就是上述4行这么循环,有几万行
大概情况就是,我想查找N_wwl0开头的所有文档,替换前行和后行,最终希望得到:
mX10/X0/X0/X0X0/X0/X0/X0/X0/M5
+ X
+ N_wwl0_X10/X0/X0/X0/X0/X0/X0/X0/X0/M5_g
+ X
……………………
这么一个结果,求高手指教
▼优质解答
答案和解析
如果格式上如你所说就是这四行循环,那咱们换个思路吧,根据+替换,即:每次第一次出现+,替换该行和该行后的第二行.sed -i ':a;/^+/{s/.*/+ X/;n;n;s/.*/+ X/};n;ba' file.txt ...