簡體   English   中英

尋找正確的csplit正則表達式

[英]Looking for correct Regular Expression for csplit

我有一個包含以下幾行的文件:

1291126929200 started 88 videolist15.txt 4 Good 4
1291126929250 59.875 29.0 29.580243595150186 43.016096916037604
1291126929296 59.921 29.0 29.52749417740926 42.78632483544682
1291126929359 59.984 29.0 29.479540161281143 42.56031951027556
1291126929437 60.046 50.0 31.345036510255586 42.682281485516945
1291126932859 started 88 videolist15.txt 5 Good 4

我想為包含已started每一行(或videolist ,無關緊要)拆分文件。

以下命令僅生成2個輸出文件:

$ csplit -k input.txt /started/

但是我期待更多,如下所示:

$ grep -i started input.txt |wc -l
$ 146

什么是正確的csplit命令?

謝謝

最后添加{*}

$ csplit -k input.txt /started/ {*}

手冊頁說:

{*}    repeat the previous pattern as many times as possible.

演示:

$ cat file
1
foo
2
foo
3
foo
$ csplit -k file /foo/ {*}
2
6
6
4
$ ls -tr xx*             
xx03  xx02  xx01  xx00
$ csplit --version
csplit (GNU coreutils) 7.4

根據Open Group規范, csplit命令接受基本正則表達式

基本REGEXP是完整正則表達式實現的有限子集。 它們支持文字字符,星號(*),點(。),字符類([0-9])和錨點(^,$)。 它們支持一個或多個(+)或交替(a | b)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM