2014-12-13 3 views
-1

을 제거 정규식 나는 그들이 자막 제목 그대로, 일부 항목이 어떤 쉼표가없는펄 특정 라인

CSVish있는 데이터 파일이 있습니다. 나는 그 선들을 제거하고 싶다.

아래의 예제 데이터
regex/perl 라이너를 사용하여 모든 자막 줄을 삭제하고 싶습니다. 미리 감사드립니다.

Title1 Books, 
subtitleA 
items,1,2,3,4 
days,1,2,3,4 
subtitleB 
items,1,2,3,4 
days,1,2,3,4 
Title2 Posters, 
subtitleC 
items,1,2,3,4 
days,1,2,3,4 
subtitleD 
items,1,2,3,4 
days,1,2,3,4 
+0

'그렙 -v, file' – toolic

답변

3

쉼표가없는 모든 행과 일치 시키려면 아래 정규 표현식을 사용하십시오.

^[^,\n]+$ 

또는

^[^,\n]*$ 

당신이 일치하는 라인을 삭제할 수 후

.

Perl one-liner. 장소 편집에 대한 -i를 사용

$ perl -ne 'print unless /^[^,]+$/' file 
$ perl -ne 'print unless /^[^,\n]+$/' file 
Title1 Books, 
items,1,2,3,4 
days,1,2,3,4 
items,1,2,3,4 
days,1,2,3,4 
Title2 Posters, 
items,1,2,3,4 
days,1,2,3,4 
items,1,2,3,4 
days,1,2,3,4 
3

,

perl -i -ne 'print if /,/' file