当前位置: 首页 > 面试题库 >

从文本文件中仅删除格式完整的行范围,而忽略仅具有开始定界符的行范围

严琨
2023-03-14
问题内容

我要删除START和END关键字之间的行,如下所述:

START
text1
text2
text3
START
text4
END
text5
text6
START
test7
START
test8
END

我的问题是START关键字并非总是以END结束。从上面的示例中可以看出,第一个START不以END结尾,而是在TEXT3之后又另一个START。

所以我不能使用以下sed命令:

sed '/START/,/END/d' test.txt

因为它将删除从TEXT1到TEXT 4以及TEXT7-8的行。

但是我只想删除TEXT4和TEXT8行。因此,以下输出应为:

START
text1
text2
text3
text5
text6
START
text7

问题答案:

通过逐行反转文件变得更加容易:

$ tac test.txt | sed '/END/,/START/d' | tac
START
text1
text2
text3
text5
text6
START
test7


 类似资料:
  • 我正在将Office Interop与MS Word(Microsoft.Office.Interop.Word)和Microsoft一起使用。办公室工具。Word可在Word加载项中修改Word文档。我有一个包含我要编辑的特定文本的范围。 当我更新Text对象时,Range的段落格式将被重置,特别是对齐和左键。我可以在临时变量中保存对齐和左缩进并重置它们,但这并不理想。是否有一种方法来阻止段落格

  • 问题内容: 我有一个class + extension swift文件。将我在另一个文件中声明的委托添加到类之后,Xcode在扩展行显示“声明仅在文件范围内有效”。我不知道问题是什么。 谁能帮我修复它? 问题答案: 该错误在您的某个位置上-该错误意味着您的类没有被关闭,因此该扩展被解释为嵌套在其中,如下所示: 找到缺少的右括号,您应该解决问题。

  • 问题内容: 我有一个程序可以从Twitter流API实时解析推文。在存储它们之前,我将它们编码为utf8。某些字符最终以?,??或???出现在字符串中 而不是它们各自的unicode代码,并且会引起问题。经过进一步调查,我发现有问题的字符来自“表情符号”块 U + 1F600-U + 1F64F和“其他符号和象形文字”块 U + 1F300-U + 1F5FF。我尝试删除,但未成功,因为匹配器最终

  • 问题内容: 我有一个像这样的textfile.txt: 如何删除最舒适的前三行和最后一行? 问题答案:

  • 用途:我有一个零件列表,每个工作都有变化。 我的每个part#都有3行,这就是为什么我运行“entirerow.delete”3次。 这就是我现在拥有的。