LINUX.ORG.RU

Команда find и кодировка


0

1

Помогите разобраться, плиз: использую find для нахождения строчек с телефонами в файлах, у которых кодировка не UTF-8

find ~/notice/ -name '*csv' -exec grep -rnH '8-555-555-5555' {} \;

В результате получаю нужные строчки, но все русские буквы там просто пропадают, например

/home/madaro/notice/12-10-2010_09_00_46/Авто.csv:136:95420|0|> > > 2105; |2105-, 2007 . , 58 1.5,,/,,,. ,1 125 .|0|0|0|0|0|0|8-555-555-5555||TE|HE|0|0|0|0|0|0|0|0|auto|2010-10-11 12:17:09||||95420||

Что мне сделать, чтобы получить нормальные русские строчки в результате? Спасибо.



Последнее исправление: Madaro (всего исправлений: 1)

указать перед find что-то типа
LANG=«ru_RU.CP1251 CP1251» ?
или какая там у тебя кодировка
или всунуть конвейер с iconv

megabaks ★★★★
()
Ответ на: комментарий от Eddy_Em

Спасибо, хоть мой хостер и не имеет установленного enconv, зато гугление по этому слову вывело меня на две похожих проблемы, в которых нашел решение:

find ~/notice/ -name '*csv' -exec grep -rnH '8-555-555-5555' {} \; | iconv -f cp1251 -t utf-8 -c

Madaro
() автор топика
Ответ на: комментарий от Madaro

enconv можно было бы и локально поставить :)

Eddy_Em ☆☆☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.