我有一个制表符分隔的文件,其中包含由空字段行分隔的数据块。它看起来像这样:
#comment\n
data<TAB>data<TAB>data\n
data<TAB>data<TAB>data\n
<TAB><TAB>\n
#comment\n
#comment 2\n
data<TAB>data<TAB>data\n
data<TAB>data<TAB>data\n
data<TAB>data<TAB>data\n
<TAB><TAB>\n
data<TAB><TAB>\n
我正在尝试使用 csplit 将此文件拆分为块。当我的模式有 23 个匹配项时,它只会创建两个文件:
$ grep '^ *$' file.txt | wc -l
23
$ csplit file.txt '/^ *$/'
875
587453
$ ls
file.txt xx00 xx01
我正在使用 CTRL-V 进入选项卡,'\t' 不适用于 csplit 或 grep。环境是 Cygwin 上的 Bash。我用十六进制编辑器检查了文件,它肯定使用了 UNIX 换行符。
我可能做错了什么?