정규식으로 파일을 분할하고 싶습니다. 파일 형식은 다음과 같습니다.
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
그런 다음 현재 디렉터리에서 지정된 파일을 찾습니다 .