我有一个看起来像这样的混乱文件
@SL2.50Ch00
NNNNnnnnNNNNNNNNNNNNNNNNNNNNNNNNAAATAAATAATAATAATAATAATAATAA
+
fcii[cccff8cffiffcfffffiiiiiiiiiffNflllQllrrruru_uuruuur{~~Z
@SL2.50Ch01
我希望文件看起来像这样
@SL2.50Ch00
NNNNnnnnNNNNNNNNNNNNNNNNNNNNNNNNAAATAAATAATAATAATAATAATAATAA
@SL2.50Ch01
基本上必须删除从+到下一个标题@ SL2.5Ch01的所有内容。我需要删除+但保留@ SL2.5Ch01 此外,为了可见度,我在这里减少了字母的数量,所以它实际上在这里的+符号之前有数千个字母。
我尝试使用grep首先找到它然后sed用什么都替换它。
尝试:
grep '\n\+'
试图用反斜杠
来逃避加号grep -E '^M\+'
不起作用。
同样sed
逐行工作 - 如何让它扫描整个文件?
答案 0 :(得分:0)
如果awk
没问题,请尝试以下方法:
awk -vp=1 '/^[+]/{p=0} !p && /^@SL2.50/{p=1}p' file
<强>测试强>
$ awk -vp=1 '/^[+]/{p=0} !p && /^@SL2.50/{p=1}p' file
@SL2.50Ch00
NNNNnnnnNNNNNNNNNNNNNNNNNNNNNNNNAAATAAATAATAATAATAATAATAATAA
@SL2.50Ch01