Существует хороший шанс, Вы сталкиваетесь с некоторой проблемой кодировки символов. Файл, который Вы пробуете к grep, мог быть в другой кодировке символов, чем кодировка по умолчанию Вашей системы. Системы Unixy обычно значение по умолчанию к UTF-8 в эти дни, который совместим с 7-разрядным ASCII, но не с любым из 8-разрядных расширений ASCII. Общей 8-разрядной кодировкой в США является ISO 8859-1 и Windows CP 1252. Существуют десятки более используемого в остальной части мира.
grep
предполагает, что весь вход находится в Вашем системном кодировании по умолчанию.Кому: grep
файл в другом кодировании, использовать iconv
преобразовать его:
$ iconv -f iso8859-1 -t utf8 myfile.txt | grep something
Я понимаю, что это очень неудобно для Вашего рекурсивного примера, но более широкий урок - то, что, если это решает проблему, необходимо преобразовать все текстовые файлы в том дереве каталогов, таким образом, они совместимы с системной кодировкой символов. При необходимости в совместимости текстового редактора Windows не волнуйтесь, большинство текстовых редакторов Windows, которые фокусируются на редактировании кода, справляется с UTF-8, даже при том, что Windows использует UTF-16 исходно в эти дни.
Другая возможность состоит в том, что Ваш файл использует изогнутые кавычки. Кавычки, которые Вы вводите на своей клавиатуре, являются прямыми кавычками - ASCII 39 - но некоторые текстовые процессоры и текстовые редакторы заменяют их изогнутыми кавычками или U+2019 в этом примере.
Мне нравится использовать эту команду для ввода по абсолютному адресу через файл для исследования проблем кодировки символов:
$ od -t x1 < myfile.txt | less
Существуют различные "hexdump" доступные программы, но они часто делают бесполезным вещам нравится, отображают данные как 16-разрядные слова в формате с прямым порядком байтов. Поскольку od
также не имеет печатаемого текстового отображаемого столбца как никакая достойная hexdump программа, тем не менее, она работает лучше всего на короткие файлы. Я часто сокращал пример к чему-то легкому для тестирования сначала.
Необходимо переустановить систему и удостовериться, что Вы загружаете медиа установки Ubuntu в режиме EFI. Это запросит это создавать системный раздел EFI (если Вы скажете этому использовать весь диск), и установите версию EFI личинки.