Как найти файлы с текстом в кодировке UTF-8, ошибочно интерпретированные как ISO 8859-1 из-за маркера порядка байтов (BOM) стандарта Unicode.

find . -type f | grep -rl $'\xEF\xBB\xBF'


Команда «find . -type f | grep -rl $’\xef\xbb\xbf'» выполняет две операции параллельно. Сначала она использует команду «find» для поиска всех файлов в текущем каталоге и его подкаталогах («-type f»). Затем результат этого поиска передается в команду «grep», которая ищет строки в этих файлах, содержащие маркер порядка байтов (BOM) в кодировке UTF-8.

Маркер порядка байтов $’\xef\xbb\xbf’ соответствует UTF-8 BOM. В результате выполнения команды будут выведены имена всех файлов, в которых найдена указанная строка.

Эта команда может быть полезной, когда нужно найти файлы, в которых маркер порядка байтов был неправильно интерпретирован программой или системой.

Альтернативой этой команде может быть использование других инструментов, таких как «ack» или «ag» для поиска строк в файлах. Однако, комбинация команд «find» и «grep» обычно достаточно эффективна для выполнения подобных задач.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *