如何将两个字符串之间的行复制到一个完全匹配第一个字符串和一个第二个字符串的新文本文件

时间:2014-02-04 07:41:01

标签: bash

这就是我的文件input.txt的样子

$cat input.txt

*NODE_SET
a
b
c
d
*NODE
e
f
g
h
*XYZ

现在我想在 NODE之间输出行,直到它遇到包含“”的另一行到新文件“output.txt”。 即output.txt应包含:

*NODE
e
f
g
h
*XYZ

这里的问题是* XYZ可以是任何未知的字符串;即它可以是* ELEMENT,* LOAD等,但是明星存在于该行的开头。

1 个答案:

答案 0 :(得分:0)

这个sed应该有效:

sed -n '/^\*NODE$/,/^*/p' input.txt > output.txt

<强>输出:

*NODE
e
f
g
h
*XYZ