Shellscript - 按块读取

时间:2015-05-11 07:05:30

标签: linux bash shell awk

我想知道是否可以从一个文件中逐个读取,直到一个特定的分隔符(即某个字符串或某个东西),而不是按行(就像'read'那样)。

input.txt包含:

text1
text2
NEXT
text3
NEXT
text4
text5

每个文本部分都应保存在某个文件中(text1 + text2 // text3 // text4 + text5)

我在编辑IFS时玩了一些但不幸的是没有成功。

1 个答案:

答案 0 :(得分:2)

您可以将gnu-awk与自定义记录分隔符一起使用:

awk -v RS='\nNEXT\n' '{sub(/\n$/, ""); print "<" $0 ">"}' file
<text1
text2>
<text3>
<text4
text5>

<...>中的每个块都是一条记录。