Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Ответить
Аватара пользователя
namin78

Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Сообщение namin78 »

Существует текстовый файл. В нем много мусорных строк содержащих

1 всего один символ(букву) .

2 Только цифры.

3 Два символа вместе или через пробелы

4 Три символа один из которых не относится ни кирилице, ни цифрам, ни к латинице, символы вместе или через пробелы

Эти строки надо удалить. Объясню зачем. После разных распознавалок типа FineReader и CuneiForm в тексте остается много мусора, и ни какие пост-OCR обработчики в автомате такие строки не вычищают.

Заранее благодарен!
Аватара пользователя
namin78

Re: Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Сообщение namin78 »

Цитата Iska:



— это документ Microsoft Word, надо полагать?
Любой язык - [решено] Помогите создать скрипт удаления лишних строк




Нет, текстовый файл с расширением txt.

Вот маленький кусочек файла
тык
.
Аватара пользователя
Iska

Re: Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Сообщение Iska »

namin78, посмотрел. Там в любом случае нужна будет вычитка и правка «ручками». Иначе такие абзацы как «"пал ьч и ка.», должные превратиться после вычитки в «пальчика», уйдут в небытие.
Аватара пользователя
Iska

Re: Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Сообщение Iska »

Цитата Iska:



нужна будет вычитка
Любой язык - [решено] Помогите создать скрипт удаления лишних строк




В общем файле, по моим подсчетам, около 7000-10000 мусорных строк. И если можно удалить 5000-8000 тысяч из них, то это очень облегчит чтение. Я не собираюсь причесывать текст "в ноль". Задача, максимально причесать, нажав десяток кнопок.
Аватара пользователя
Foreigner

Re: Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Сообщение Foreigner »

Четвертый пункт сомнительный (возможен неправильный результат), powershell:

Код: Выделить всё

<#
1 всего один символ(букву) .
2 Только цифры.
3 Два символа вместе или через пробелы
4 Три символа один из которых не относится ни кирилице, ни цифрам, 
  ни к латинице, символы вместе или через пробелы
#>
(get-content file.txt) -replace '^(.|\d+|.(\s+)?.|\W\s?.\s?.|.\s?\W\s?.|.\s?.\s?\W)$' |
set-content file.1.txt -encoding default
Аватара пользователя
namin78

Re: Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Сообщение namin78 »

Четвертый пункт не сработал

Код:

не удалился. и цифры не удалились. Как было

Код:

так и осталось
Аватара пользователя
greg zakharov

Re: Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Сообщение greg zakharov »

namin78, в том куске текста, что был представлен, вычистить мусорные строки можно так (PS v2):

Код:

Код: Выделить всё

gc .\bar | ? {$_ -match '\w{3}'}
Аватара пользователя
namin78

Re: Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Сообщение namin78 »

Цитата greg zakharov:



вычистить мусорные строки можно так
Любой язык - [решено] Помогите создать скрипт удаления лишних строк




А как сделать что-бы вывод в файлик, а не на экран?
Аватара пользователя
namin78

Re: Любой язык - [решено] Помогите создать скрипт удаления лишних строк

Сообщение namin78 »

Foreigner, добавив к вашему коду еще чуть-чуть, я добился желаемого результата. Спасибо.
Ответить

Вернуться в «Скриптовые языки администрирования Windows»