2014-07-23 6 views
1

수천 줄의 파일이 있습니다. 각 줄에 비 ASCII 문자가 있는지 검색해보고 싶으면 그 줄 전체를 삭제하십시오.ASCII 문자가 아닌 파일에서 모든 행을 지우십시오.

나는 펄 코드의이 비트 발견

perl -i.bak -ne 'print unless(/[^[:ascii:]]/)' file 

을하지만 내 파일을 실행하면이 오류를 얻을 :

Can't find string terminator "'" anywhere before EOF at -e line 1. 

사람이 실제 펄 스크립트 코드를 가지고 있는가 대신 위의 한 라이너 대신?

답변

3

셸 오류입니다. Windows 시스템을 사용하고 있기 때문일 가능성이 큽니다. 대신 작은 따옴표의

사용 따옴표 :

perl -i.bak -ne "print unless(/[^[:ascii:]]/)" file 
+0

예 그게 할 것입니다. 이렇게하면 전체 라인이 너무 정확하게 제거됩니까? – Micro

+0

예, 이것은 ASCII 문자가 아닌 행만 유지합니다. – Miller

관련 문제