我想按正则表达式分割文件,我有如下文件格式
0|t| lorem ...
some text
138|t| title
some text 如果我执行egrep "[0-9]+\|t\|" file | wc -l,它会正确地计数发生情况,但是如果我执行csplit filename /[0-9]+\|t\|/,它就表示没有找到匹配,也没有拆分文件。
似乎有些问题的管道在模式,但无法找到解决办法。
发布于 2017-03-30 06:17:29
您必须认识到,csplit正则表达式是基本正则表达式(BRE),因此不会理解+、\|等。
就这么做吧:
csplit yourfile '%^[0-9]*|t|%' '/^[0-9]*|t|/' '{*}'然后在当前目录中查找名为xxNN的文件。
https://unix.stackexchange.com/questions/354745
复制相似问题