Pull to refresh

Comments 20

Наверное стоит подумать над тем что бы поставить цигвиновскую сборку гнутых утилит под вин32…
Наверное, вы правы. Я этот вариант рассматривал только когда пытался делать кроссплатформенный проект на Qt. В этом контексте мне это в голову не пришло.
Имейте в виду на будущее, что есть grep -r (хоть он и не поможет в данном случае из-за кодировки).

Кстати, что такое UNICODE? UTF-16?
Век живи-век учись!
1. про grep -r точно ничего не знал :)
2. Что такое UNICODE — сам хотел бы выяснить! Открываю в windows-блокноте текстовый файл и прошу «сохранить как», а он мне пишет «выберите кодировку»: UNICODE, UTF-8, ANSI! Вот что он имел в виду??? И почему скрипт сохраняет в этой кодировке, если я сам скрипт сохранил в ANSI, а сохранение текста идёт через JavaScript «Scripting.FileSystemObject»?
Блокнот имеет в виду UTF-16.
Разобрался!
В методе объекта «Scripting.FileSystemObject».openAsTextStream([iomode, [format]]); аргумент format имеет несколько значений, из них -1 — UNICODE, 0 — ASCII. У меня было установлено "-1". Вот это и было завуалированной проблемой, вынудившей меня искать решение с перекодировкой! А я-то думал что-то с grep не в порядке, хотя предполагал, что он должен уметь искать в подкаталогах. Сейчас проверил изменение [format] на 0 (ASCII): и grep заработал, и findstr тоже ищёт нормально!
Все-таки поищите, как включить UTF-8 :)
FileSystemObject не поддерживает utf-8, ы. Пора переходить на PowerShell!
FileSystemObject поддерживает UTF-8, проверил. Написал в конце статьи как.
Это точно не ascii? На символах вне ascii проверяли?
Точно не ASCII. На символах вне ASCII (типа китайских и азиатских) не проверял, но размер файла превышает количество символов в два раза, да и разные редакторы показывают, что кодировка — utf-8.
Кириллицы нет в ASCII.
Если символов вне ASCII нет, то файл в ASCII идентичен файлу в UTF-8.
Раз они идентичны, то и то, и другое)
я б в консоли винды перебрал циклом файлы и вывел искомые значения.
findstr поддерживает регулярки, формат полученных результатов тоже можно организовать «красиво».

Собственно, у меня была похожая задача — парсить в винде сырцы Миранды в поисках строк с текстом для перевода. На выходе получались готовые к переводу строки.
Посмотреть код можно тут
а могло бы просто ограничится лишь чтением
man grep
Полностью согласен. :)
Но теперь, узнав, что в find есть ключ -exec, можно будет ещё что-нибудь сделать с найденными данными.
не хотелось троллить, но, узнав, что есть man find можно ещё что-нибудь сделать. (там красочные примеры)
Тут я коснулся этой проблемы, потому что она у меня как заноза была — почему-то с ходу не решалась, хотя по обработке текста у меня большой опыт (говорю это без стеснения, потому что один из результатов моего труда был напечатал в виде большого справочника на 800 страниц, 2000 экз., уровень грамотности и точность которого стала возможна благодаря использованию в работе yandex.server и регулярные выражения). Как известно, имея большое опыт в какой-либо области трудно решать простые задачи простыми методами (Высшим приколом по этой теме я считаю задачу про двух чаек, которая курсирует между идущими навстречу друг другу паровозами, и как Винер решил её интегрированием, а не простым умножением). А вот такая мелочь долгие годы (!!!), почему-то лично для меня оставалась тайной.
Ошибся — не двух чаек, а одну, между двумя паровозами.
Sign up to leave a comment.

Articles