1
我有一个大型文本文件,其中包含一个重复数据集,其中每个条目的标题为-XXXX-
和页脚$$$$
。大约有20K条目,我想将它分成500个条目。在第n个分隔符实例中将文本文件拆分为多个文件
我一直在玩awk
,并使用下面的命令它关闭。每个文件以-XXXX-
开头,但第一个文件后面的每个文件最后都有一个部分条目。
awk "/-XXXX-/ { delim++ } { file = sprintf(\"file%s.sdf\", int(delim/500)); print > file; }" < big.sdf
例如:
-XXXX-
Beginning
Middle
End
$$$$
-XXXX-
Beginning
我不是想每个文件,以$$$$
之后结束。我在Windows上使用awk
。
当你说“每一个文件的第一个在末端部分进入后”,你描述输入数据文件(S)或目前你所得到的输出? –
我目前正在获得的输出。第一个文件在$$$$下正确切断。后续文件包含-XXXX-之后的部分条目。 注意:我发现如果我在Windows机器上的Cygwin shell中运行上述代码,我会得到正确的行为,但如果通过Windows中的命令提示符运行它,它会如上所述混淆。 – macaday
这对我来说很难确定发生了什么。我再也无法访问任何Windows机器 - 这是几十年来的第一次 - 所以我不能很容易地尝试复制这个问题。你说什么听起来很奇特。文件是否以换行符结尾(Windows上的CRLF)?如果不是,那可能会导致你所看到的一些情况。 –