>  기사  >  백엔드 개발  >  UTF-8 파일에서 BOM(바이트 순서 표시)을 찾고 제거하는 방법은 무엇입니까?

UTF-8 파일에서 BOM(바이트 순서 표시)을 찾고 제거하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-04 10:29:02537검색

How to Find and Remove Byte Order Marks (BOM) in UTF-8 Files?

기발한 접근 방식: UTF-8 파일에서 BOM 찾기

바이트 순서로 장식된 UTF-8 파일을 찾기 위해 디렉토리를 뒤져야 할 필요성 마크(BOM)는 디버깅 목적으로 발생합니다. 셸 스크립트는 간단한 솔루션을 제공하지만 읽을 수 없는 한 줄 또는 파일 이름의 줄 바꿈에 대한 민감성과 같은 불완전성으로 인해 어려움을 겪을 수 있습니다.

정제된 솔루션

더 많은 방법 찾기 우아한 접근 방식을 사용하려면 다음 간결한 명령을 고려하세요.

find . -type f -exec sed '1s/^\xEF\xBB\xBF//' -i {} \;

이 명령은 'find' 유틸리티를 활용하여 지정된 디렉터리를 탐색합니다. 그런 다음 'f' 유형의 파일(일반 파일)이 필터링됩니다. 각 적합한 파일에 대해 'sed' 편집기가 호출되어 첫 번째 줄에서 대체를 실행합니다. 문자열 ^xEFxBBxBF는 줄의 시작을 나타내는 제어 시퀀스로 시작하고 BOM을 구성하는 세 문자인 EF BB BF와 일치합니다. 이를 빈 문자열로 바꾸면 BOM이 효과적으로 지워집니다.

예방 조치

이 작업은 파괴적이므로 사용자에게 주의가 필요합니다. 이러한 문자가 포함된 바이너리 파일이 수정됩니다. 의도하지 않은 변경을 방지하려면 다음 명령을 대신 사용하십시오.

grep -rl $'\xEF\xBB\xBF' .

이 수정된 명령은 'grep'의 패턴 일치 임무에 충실합니다. 피해를 주지 않고 BOM이 포함된 파일을 식별하는 기능을 유지합니다.

위 내용은 UTF-8 파일에서 BOM(바이트 순서 표시)을 찾고 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.