【问题标题】:How to csplit on tabs?如何在标签上拆分?
【发布时间】: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 换行符。

我做错了什么?

【问题讨论】:

    标签: regex csplit


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2012-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-04
      • 1970-01-01
      • 2019-01-29
      相关资源
      最近更新 更多