|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 37
|
|||
Удаление определённого количества символов каждой строки в текстовом файле03.11.2012, 23:01. Показов 6541. Ответов 16
Метки нет (Все метки)
Добрый вечер Уважаемые Гуру!
Задача: Есть txt файл. Нужно удалить определённое количество символов в каждой строке. Пример: txt файл содержит
Получится так:
Желательно что бы количество символов можно было задать опционально, хоть 128=) П.С, количество строк не известно, в общем что бы скрипт работал до конца файла - до последней строки. Спасибо
0
|
|||
| 03.11.2012, 23:01 | |
|
Ответы с готовыми решениями:
16
Удаление определённого количества первых символов в каждой строке текстового файла Удаление из строки определенного количества символов
|
|
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
|
||||||
| 04.11.2012, 00:35 | ||||||
|
xinix, пробуйте:
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 37
|
|
| 04.11.2012, 01:07 [ТС] | |
|
Не хочет работать
![]() Добавлено через 7 минут Bash Q:\>SetLocal enabledelayedexpansion Q:\>set File=1.txt Q:\>set nn=6 Q:\>set Out=out.txt Q:\>For /F "usebackq delims=" %A In ("1.txt") Do (Set "String=%A" & Set "String =!String:~6!" Echo.!String!1>>out.txt ) Q:\>pause Для продолжения нажмите любую клавишу . . . Мелькнёт и всё!
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 37
|
|
| 04.11.2012, 02:31 [ТС] | |
|
Файл 42мб, не работает!
С мелким файлом работает.
0
|
|
|
|
|||||||||||
| 04.11.2012, 03:28 | |||||||||||
|
Так может перейдем на VBS?
BASH не всегда может справляться с бинарными файлами, в которых присутствуют особые спецсимволы. Добавлено через 52 минуты Сохранить в файл с расширением .VBS Классика:
вот моя переделка:
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 37
|
|
| 04.11.2012, 22:18 [ТС] | |
|
Dragokas Спасибо!
Сейчас буду проверять. Я думаю вариант sov44 не работает из-за кодировки в текстовом файле. sov44 всёравно спасибо! Добавлено через 9 минут Dragokas Не работает, только как то странно меняет шрифт=) И добовляет в некоторых местах проблелов перед строкой И в конце каждой строки: пробел квадратик пробел. И не удаляет символы. Я поставила CutN = 14, но ничего не изменилось а только стало странно выглядеть ![]() Добавлено через 1 минуту txt файлв в юникоде, если это поможет. Добавлено через 2 часа 26 минут Мне нельзя файл в Анси конвертировать! Только Юникод.
0
|
|
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 37
|
|
| 06.11.2012, 07:53 [ТС] | |
|
Серьёзно - не работает!
0
|
|
|
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
|
||
| 06.11.2012, 09:13 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 37
|
|
| 08.11.2012, 16:36 [ТС] | |
|
0
|
|
|
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
|
|
| 08.11.2012, 18:17 | |
|
xinix, наверное ничем не помогу. Пробовал кодировать утилитой win_iconv.exe, но похоже она не обрабатывает уникод (CP1200 (UTF-16LE + BOM))
1
|
|
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 37
|
|
| 10.11.2012, 10:45 [ТС] | |
|
sov44, Спасибо что попробовали!
![]() Возможно Dragokas мне поможет...
0
|
|
|
|
|
| 11.11.2012, 01:30 | |
|
Да, я тоже вслед за sov44 попробовал утилитой iConv, но она не справилась с последовательностью.
Речь не только в том, чтобы превратить в читаемую скриптом форму, но надо еще и вернуть обратно в том же виде. Там действительно специфическая кодировка, некая UCS-2 Little Endian. Буду работать с ней напрямую в бинарном режиме, без преобразований. Там каждый символ закодирован 2 байтами. Причем первые 2 байта - &HFF &HFE видимо задают идентификатор кодировки и должны быть опущены при обработке. Перенос каретки организован стандатными Win-кодами &H0D &H0A, и тоже 2-байтовые, тем не менее штатными средствами определяются нормально как новая строка.
1
|
|
|
|
||||||
| 11.11.2012, 03:27 | ||||||
|
В общем на VBS не получилось. Там куча заморочек с приведениями типов массива.
На Visual Basic (компилируемій язык) все работает замечательно. Вот код:
либо в документ MS Office. Могу скомпилировать в виде EXE-файла с возможностью передачи 2 входных параметров через командную строку (имен файлов). Алгоритм работы: Файл целиком читается в память (массив) в виде бинарной информации. Проверяет первые 2 байта. Если не совпадают с кодировкой, выдается предупреждение. Далее идет работа с массивом. Идет просмотр счетчика пропускаемых символов. Если символ не пропускается, он записывается в позицию записи WRpos в массиве. То есть информация смещается вначало массива байтов. Смещение идет не по цепочке, а в порядке чтения. Т.о. скорость достигается оптимальная. В конце массив урезается до последней позиции записи. Затем записывается в файл outFile.
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 37
|
||
| 11.11.2012, 17:38 [ТС] | ||
|
Dragokas, Вы гений!
![]() Спасибо Вам огромное! Спасибо, побежала тестировать! ![]()
А так попробую Сама скомпиллировать.
0
|
||
|
|
||||||
| 12.11.2012, 04:11 | ||||||
|
Скомпилированная программа в архиве.
Исходный код
А вот сам процесс работы над кодировкой
1
|
||||||
|
0 / 0 / 0
Регистрация: 28.09.2012
Сообщений: 37
|
|
| 12.11.2012, 12:10 [ТС] | |
|
Dragokas Спасибо
![]() Я не знаю куда деться от счастья)) Спасибо! Побежала тестировать!
0
|
|
| 12.11.2012, 12:10 | |
|
Помогаю со студенческими работами здесь
17
Чтение определенного количества строк в минуту и добавление данных в файле вывода для каждой строки В текстовом файле f1 длина каждой строки не более 80 символов. Сформировать файл f2 таким образом, чтобы было 80 символ
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|