Это команда grep, которую я использовал
grep -ic address log*
На выходе получается 0. Я точно знаю, что слово «адрес» встречается в файле журнала более 60 раз. Но я все равно получаю 0.
Теперь я скопировал содержимое журнала в новый файл log2
grep -ic address log2
выходов 65! Я скопировал содержимое, выделив все и скопировав вставку вместо команды cp. Я проверил и убедился, что с правами доступа к файлам все в порядке.
ls -l
показать это
-rwxrwxrwx 1 root root 91694 Jul 26 16:18 log
-rw-r--r-- 1 root root 45220 Jul 30 14:16 log2*
Единственное несоответствие, которое я вижу, - это то, что размер первого журнала вдвое превышает размер его копии. Это проблема формата?
Когда я открываю файл в vim, он показывает
[преобразовано] [дос] как формат.
Как я могу это исправить?
Любая помощь приветствуется.
Поскольку ваш файл log в два раза больше log2, но должен быть точной копией, вполне вероятно, что он закодирован в UCS-2. Файл был создан в Windows?
Пытаться
file log log2
Редактировать:
Вывод файла в комментарии подтверждает это.
Используйте это для прозрачного grep
recode ucs2..utf8 < log | grep ...
Или это преобразовать файл
recode ucs2..utf8 log
grep ... log