Sed создает un-deleteable файлы в Windows

распознавание текста в изображении является действительно горячей темой для исследователей в том поле, но только начатый выйти из-под контроля, когда капча стала "нормой" с точки зрения защиты против ботов спама. Почему капча использования как защита? хорошо, потому что очень трудно расположиться (и читать) текст в изображении!

причина, почему я упоминаю капчу, состоит в том, потому что большая часть продвижения* сделана в той крошечной области, и я думаю, что Ваше решение могло быть лучше всего найдено там. особенно, потому что капча действительно о располагающемся тексте (или что-то, что напоминает текст) в нарушенном изображении и впоследствии пытающийся считать буквы правильно.

поэтому, если можно оказаться хороший инструмент повреждения капчи с открытым исходным кодом , у Вас, вероятно, есть все, что необходимо продолжить поиски...
Вы могли, вероятно, даже выбросить самый трудный код, который обрабатывает само распознавание символов, потому что те, которые OCR используется для чтения искаженного текста, что-то, которое Вы не должны делать.

*: продвижение с точки зрения видимого, применимого, и практичный информация для "неисследователя"

19
задан Zian Choy 13 January 2010 в 00:03
поделиться

5 ответов

Я повторил вашу настройку, и у меня есть следующие наблюдения.

  1. Я не думаю, что в цикле есть проблема. Простая команда "C: \ program files \ gnuwin32 \ bin \ sed.exe" -i "S / Bad / Good / G" . - создает тот же набор временных файлов.
  2. Файлы действительно создаются SED. SED создает эти временные файлы, когда включен параметр «В место» (-i). В обычном курсе SED фактически удаляет файлы (именно то, что происходит в Cygwin), используя вызов в библиотеку «UNINK». В случае GNUWIN32, похоже, что «UnimeNe» не удается. Я не смог выяснить, почему. Я догадался, что, возможно, вызов Unlink зависит от библиотеки GNUWIN32 «COREUTILS» и пытался загрузить и установить библиотеку COREUTILS - без костей.
  3. Если вы удалите ограничение «только для чтения» в родительской папке перед выполнением команды SED, вы можете удалить временные файлы из командной строки Windows. Так что это должно дать вам некоторую временную передышку.

Я думаю, что теперь у нас есть достаточно информации, чтобы поднять отчет об ошибке. Если вы согласны, я думаю, что это может быть хорошей идеей, чтобы довести его до уведомления о хороших людях, ответственных за GNUWIN32 и попросить их о помощи.

Между тем, следующая версия очищает свой временный файл:

24
ответ дан 30 November 2019 в 04:11
поделиться

вы можете просто запустить sed без цикла for

c:\test> sed -i.bak "s/bad/good/g" file*.*
0
ответ дан 30 November 2019 в 04:11
поделиться

Вот тут-то и начинается поиск и устранение неисправностей. Происходит ли это при выполнении команды из командной строки и пакетного файла? Что, если вы запустите sed на отдельном файле из командной строки - он создаст эти файлы для каждого файла, или только для определенных файлов/типов файлов? Это происходит только для этой замены, или для всех замен вообще, или просто всегда, когда вы запускаете sed.exe на файле? Только ли sed создает эти файлы, или все Gnuwin32 exe (например, awk, cat и т.д.)? То же самое происходит и на sed.exe из новой инсталляции Gnuwin32? Какое сообщение об ошибке выдается при попытке удалить файлы? Можете ли вы удалить файлы из проводника, когда командная строка все еще открыта? Что делать, если закрыть командную строку и открыть ее заново, а затем попытаться удалить файлы?

1
ответ дан 30 November 2019 в 04:11
поделиться

Cygwin Шлагирует ACL для файлов иногда, вам, вероятно, придется использовать CaCls или Chmod, чтобы исправить его, прежде чем вы сможете удалить файл.

1
ответ дан 30 November 2019 в 04:11
поделиться

Это удар в темноте, но меня не удивит, если реализация gnuwin32 sed будет дафф (т.е. неисправна в каком-то смысле). Можете ли вы попробовать повторить проблему, используя AT&T U/Win POSIX-поддержку для окон? Она проста в установке и включает оболочку Korn, sed, и find, так что вы можете использовать find вместо FOR /R. (Мне интересно, не является ли частью проблемы то, что MS FOR и gnuwin32 sed не очень хорошо играют вместе.)

.
0
ответ дан 30 November 2019 в 04:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: