Как найти не ASCII символы в файлах в папке

find . -type f -regex '.*\.\(cpp\|h\)' -exec grep -Pl "[\x80-\xFF]" {} \; | xargs -I % bash -c 'echo "%"; grep --color='auto' -P -n "[\x80-\xFF]" "%"'


Эта команда выполняет поиск не-ASCII символов в файлах (с расширением .cpp и .h) в текущей папке и её подпапках. Она использует «find» для поиска файлов, «grep» для поиска не-ASCII символов в файлах, и выводит результат с указанием номеров строк, где они найдены. Альтернативой может быть использование инструментов, таких как «ack» или «ag» вместо «grep». Аргументы команды: -type f — выбор только файлов, -regex ‘.*\.\(cpp\|h\)’ — фильтрация файлов по расширениям .cpp и .h, -exec grep -Pl «[\x80-\xFF]» {} \; — выполнение «grep» для поиска не-ASCII символов, xargs -I % bash -c ‘echo «%»; grep —color=’auto’ -P -n «[\x80-\xFF]» «%» — вывод файлов с не-ASCII символами и их строки.

Ответить

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