파이프(|)가 있는 csplit 정규식

파이프(|)가 있는 csplit 정규식

정규식으로 파일을 분할하고 싶습니다. 파일 형식은 다음과 같습니다.

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

실행하면 egrep "[0-9]+\|t\|" file | wc -l발생 횟수가 올바르게 계산되지만 실행하면 csplit filename /[0-9]+\|t\|/일치하는 항목이 없다는 메시지가 표시되고 파일이 분할되지 않습니다.

패턴의 파이프에 문제가 있는 것 같은데 해결 방법을 찾을 수 없습니다.

답변1

csplit정규 표현식이 다음과 같다는 것을 알아야 합니다 .기본 정규식(BRE)그래서 이해가 안 된다 + \|등등.

이렇게 하세요:

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

xxNN그런 다음 현재 디렉터리에서 지정된 파일을 찾습니다 .

관련 정보