【发布时间】:2019-07-22 22:16:05
【问题描述】:
我有一个制表符分隔文件,其中包含由空字段行分隔的数据块。它看起来像这样:
#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 换行符。
我做错了什么?
【问题讨论】: