[file] <0xEF, 0xBB, 0xBF> 문자가 파일에 표시됩니다. 그들을 제거하는 방법?

JavaScript 파일을 압축하고 있는데 압축기가 파일에 문자가 있다고 불평 합니다.

이러한 문자를 검색하고 제거하려면 어떻게해야합니까?



답변

perl -pi~ -CSD -e 's/^\x{fffe}//' file1.js path/to/file2.js

파일에 다른 utf-8이 있으면 도구가 중단 될 것이라고 생각하지만 그렇지 않은 경우이 해결 방법이 도움이 될 수 있습니다. (테스트되지 않은 …)

편집 : -CSDtchrist의 의견 에 따라 옵션을 추가했습니다 .


답변

vim을 사용하여 쉽게 제거 할 수 있습니다 . 단계는 다음과 같습니다.

1) 터미널에서 vim을 사용하여 파일을 엽니 다.

vim file_name

2) 모든 BOM 문자 제거 :

:set nobomb

3) 파일 저장 :

:wq


답변

이러한 문자를 제거하는 또 다른 방법 -Vim 사용 :

vim -b 파일 이름

이제 “숨겨진”문자가 표시되고 ( <feff>) 제거 할 수 있습니다.


답변

이전 답변에 감사드립니다. 다음과 같은 경우를 대비하여 sed (1) 변형이 있습니다.

sed '1s/^\xEF\xBB\xBF//'


답변

Unix / Linux :

sed 's/\xEF\xBB\xBF//' < inputfile > outputfile

MacOSX에서

sed $'s/\xEF\xBB\xBF//' < inputfile > outputfile

Mac의 경우 sed 뒤에 $가 있습니다.

Windows에서

sed 의 향상된 버전 인 Super Sed 가 있습니다 . Windows의 경우 이것은 명령 줄에서 실행하기위한 독립 실행 형 .exe입니다.


답변

tail을 사용하는 것이 더 쉬울 수 있습니다.

tail --bytes=+4 filename > new_filename


답변

@tripleee의 솔루션이 저에게 효과적이지 않았습니다. 그러나 파일 인코딩을 ASCII로 변경하고 다시 UTF-8로 변경하면 트릭이 발생했습니다. 🙂