5

Последние 30 минут я пытался заставить это работать должным образом. grep - не самая сложная вещь для использования, поэтому я несколько озадачен тем, почему это не сработает.

Файлы, которые я пытаюсь использовать с помощью grep являются простыми файлами журнала XHTML. Их имена в формате name@domain.com.html, хотя я не думаю, что это должно иметь значение, а внутри просто XHTML.

Я скопировал один такой файл журнала в файл testfile чтобы вы могли увидеть вывод некоторых команд и почему это сбивает меня с толку:

[~/.chatlogs_windows/dec] > whoami
reid
[~/.chatlogs_windows/dec] > type grep
grep is /bin/grep
[~/.chatlogs_windows/dec] > uname -a
Linux reid-pc 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 GNU/Linux
[~/.chatlogs_windows/dec] > cat /etc/issue
Linux Mint 10 Julia
[~/.chatlogs_windows/dec] > ls -lh testfile
-rw-r--r-- 1 reid reid  63K 2011-01-10 12:45 testfile
[~/.chatlogs_windows/dec] > tail -3 testfile 
</body>
</html>
[~/.chatlogs_windows/dec] > file testfile
testfile: XML document text
[~/.chatlogs_windows/dec] > grep html testfile 
[~/.chatlogs_windows/dec] > grep body testfile 
[~/.chatlogs_windows/dec] > grep "</html>" testfile 
[~/.chatlogs_windows/dec] > grep "</body>" testfile
[~/.chatlogs_windows/dec] > cat testfile | grep html
[~/.chatlogs_windows/dec] > cat testfile | wc -l
231
[~/.chatlogs_windows/dec] > cat testfile | tail -3
</body>
</html>
[~/.chatlogs_windows/dec] > chmod a+rw testfile && ls -lh | grep testfile
-rw-rw-rw- 1 reid reid  63K 2011-01-10 12:45 testfile
[~/.chatlogs_windows/dec] > grep html testfile

Это то, что я пытаюсь сделать. Я хочу просто использовать grep -ri query . в ~/.chatlogs_windows , который обычно работает идеально для меня ... но по какой-то причине он полностью не проходит через эти файлы.

Если это имеет значение, я скопировал эти файлы с моего раздела Windows 7. Но я выбрал их и дал себе все необходимые разрешения, а другие программы (например, cat), кажется, читают их просто отлично. Я также скопировал testfile в testfile_unix, преобразовал окончания строк и попробовал это, но это тоже не сработало.

Я использую Zsh, но я попробовал это на Bash, и это тоже не удалось. Кроме того, grep работает нормально: я опробовал его на своей папке с документами, и он работал безупречно.

Если вам нужна дополнительная информация, просто дайте мне знать. Я попытался погуглить, но я не нашел причин для grep просто не работать. Заранее спасибо.

1 ответ1

7

Инструмент grep не распознает кодировку файлов UTF-16.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .