我想知道是否可以从一个文件中逐个读取,直到一个特定的分隔符(即某个字符串或某个东西),而不是按行(就像'read'那样)。
input.txt包含:
text1
text2
NEXT
text3
NEXT
text4
text5
每个文本部分都应保存在某个文件中(text1 + text2 // text3 // text4 + text5)
我在编辑IFS时玩了一些但不幸的是没有成功。
答案 0 :(得分:2)
您可以将gnu-awk
与自定义记录分隔符一起使用:
awk -v RS='\nNEXT\n' '{sub(/\n$/, ""); print "<" $0 ">"}' file
<text1
text2>
<text3>
<text4
text5>
<...>
中的每个块都是一条记录。