Text-Processing

csplit 正則表達式與管道 (|)

  • March 30, 2017

我想通過正則表達式拆分文件,我的文件格式如下

0|t| lorem ...
some text 
138|t| title 
some text 

如果我執行egrep "[0-9]+\|t\|" file | wc -l它會正確計數發生但如果我執行csplit filename /[0-9]+\|t\|/然後它說沒有找到匹配並且不拆分文件。

模式中的管道似乎有些問題,但無法找出解決方案。

您必須意識到正則csplit表達式是BRE並且因此不會理解+ \|等。

只需這樣做:

csplit yourfile '%^[0-9]*|t|%' '/^[0-9]*|t|/' '{*}'

xxNN然後查找在目前目錄中命名的文件。

引用自:https://unix.stackexchange.com/questions/354745