【发布时间】:2019-02-08 19:54:18
【问题描述】:
我尝试使用 awk 每隔两次出现分隔符就拆分文件,但我总是在开头得到一个空文件,我不明白为什么。
我需要在多个文件中分解的数据格式类似于:
----------
aaa
bbb
----------
ccc
ddd
----------
eee
fff
----------
ggg
第一个结果文件应包含:
----------
aaa
bbb
----------
ccc
ddd
分隔符始终相同(10 倍“减号”)。
我现在正在尝试这样做:
awk -v RS='[-]{10}' '{i++} {file = sprintf("temp-%s", int(i/2)); print >> file;}'
然而,我得到的第一个文件 (temp-0) 总是包含一个空行,没有其他内容。
此外,源文件不是以空行开头,其内容中也没有任何内容(它们之前已被删除)。
有人可以帮忙吗?
【问题讨论】:
-
如果将
a,b,c与,作为分隔符拆分,第一个字段值是多少?它将是a...,b,c怎么样?第一个字段将为空...与记录分隔符相同的概念..您得到空文件,因为在第一个匹配之前没有任何内容