Text-Processing
csplit 正則表達式與管道 (|)
我想通過正則表達式拆分文件,我的文件格式如下
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
然後查找在目前目錄中命名的文件。