0

我有一个制表符分隔的文件,其中包含由空字段行分隔的数据块。它看起来像这样:

#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 换行符。

我可能做错了什么?

4

1 回答 1

0

您必须在末尾附加 '{*}' 才能使其多次中断。谁知道?

于 2019-02-28T23:04:26.890 回答