디버깅 목적으로 UTF-8 바이트 순서 표시(BOM)로 시작하는 파일 식별 디렉토리 내에서 중요합니다. 그러나 기존 방법은 복잡할 수 있으며 줄바꿈이 포함된 파일 이름에 문제가 발생할 수 있습니다. 이 기사에서는 보다 효율적인 솔루션을 탐구합니다.
원래 명령부터 시작하여 find를 사용하여 디렉토리를 재귀적으로 탐색하고 파일을 필터링하고 파일 이름을 while 루프에 연결합니다. 루프 내에서 head는 각 파일의 처음 3바이트를 추출하고 이를 예상 BOM 시퀀스($'xefxbbxbf')와 비교합니다. 그런 다음 이 조건을 충족하는 파일이 강조 표시됩니다.
이 접근 방식의 한 가지 잠재적인 단점은 파일 이름의 줄 바꿈에 취약하다는 것입니다. 이 문제를 피하기 위해 우리는 BOM 접두사가 붙은 파일을 찾을 뿐만 아니라 이를 근절하는 대체 명령을 제시합니다.
find . -type f -exec sed '1s/^\xEF\xBB\xBF//' -i {} \;
이 명령은 sed를 활용하여 BOM 시퀀스를 첫 번째 줄의 빈 문자열로 대체합니다. 일치하는 각 파일. 그러나 이 작업을 수행하면 이러한 문자가 포함된 모든 바이너리 파일이 수정됩니다.
비파괴적인 접근 방식을 원하는 경우 다음 명령을 사용하는 것이 좋습니다.
grep -rl $'\xEF\xBB\xBF' .
이 명령은 grep을 사용합니다. 내용을 변경하지 않고 BOM 시퀀스가 포함된 파일을 찾아 나열합니다.
궁극적으로 솔루션 선택은 원하는 결과와 검사 중인 파일의 성격에 따라 달라집니다.
위 내용은 BOM 접두사가 붙은 UTF-8 파일을 효율적으로 찾는 방법: 세련된 접근 방식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!