나는 한 무리의 파일, 일부 텍스트, 바이너리, 일관된 이름 지정이없는 디렉토리를 가지고있다. 텍스트 파일에서만 문자열을 검색하고 바꿉니다.텍스트 파일 만 검색하고 바꾸는 방법은 무엇입니까?
perl -i -pne 's#/some/text/to/replace#/replacement/text#' *
가 -i
옵션을 제거하고 바이너리 파일이 잡힐 것을 볼 수 있습니다 : 그래서 나는 갔다. 바이너리 파일을 건너 뛰기 위해이 one-liner를 어떻게 수정합니까? ack
을 남용
먼저 텍스트와 이진이 무엇을 의미하는지 정의해야합니다. "텍스트"의 정의가 "31-127 사이의 문자 만 포함"합니까? 그렇다면,'''대신에''find ''라는 프로그램과 다른 프로그램이 필요합니다. 실제로 Perl 코드를 변경하는 것이 아닙니다. 어떤 파일이 glob 된 것인가하는 문제입니다. – mfontani
mfontani, Perl은 이미 텍스트 파일을 구성하는 요소에 대한 완벽한 개념을 가지고 있습니다. – daxim
@ daxim : 'cromulent'+1 +1 – dawg