Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 15

Замена и удаление строк в текстовом файле

27.04.2017, 12:03. Показов 3310. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Есть txt файл, который содержит след. информацию.
Подскажите пожалуйста, как удалить кусок текста и заменить на другую информацию.
Т.е мне нужно удалить содержимое, которое находится в $Log: и заканчивается $ и добавить новую информацию.
Пример:
Исходный файл:
/*
--------- Begin Version Control Data----------------------------------------
-- $URL:$
-- $Rev:$
-- $Date:$
-- $Author:$
-- $Log
sdfsdf
sdfsdfsd
fsdfsdf
sdf
-- $
--------- End Version Control Data -----------------------------------------
*/
Далее заменяем кусок текста(который находится в $xxHistory: и заканчивается $) на любой текст и должны получить вот такой вариант
/*
--------- Begin Version Control Data----------------------------------------
-- $URL:$
-- $Rev:$
-- $Date:$
-- $Author:$
-- $Log
3423sdfsап
3453sdfsdвпвап
-- $
--------- End Version Control Data -----------------------------------------
*/
Вложения
Тип файла: txt delete.txt (279 байт, 9 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.04.2017, 12:03
Ответы с готовыми решениями:

Поиск в текстовом файле строк по шаблону и их удаление или замена задаваемой строкой
Помогите создать правильный Batch (CMD/BAT) фалй который будет искать в текстовых файлах строку содержащую в начале ".line 12345"...

Замена строк в текстовом файле
Добрый день. Будьте добры, оказать помощь в написании готового bat-файла, который изменит текстовый файл с данными. Нужно: 1)...

Замена в текстовом файле строк по маске
подскажите, можно ли как то замену по маске делать в txt ? например надо найти <sup><a name=r3><a href="#n_3"...

4
 Аватар для volodin661
6793 / 2290 / 348
Регистрация: 10.12.2013
Сообщений: 7,899
27.04.2017, 22:32
с задачами поиска, замены и удаления строк в текстовых файлах
средствами понятными пользователю лучше всего справляются программы-редакторы текстов.
0
0 / 0 / 0
Регистрация: 03.04.2016
Сообщений: 15
28.04.2017, 06:27  [ТС]
Это хороший способ, но я имел виду скрипт, который запускался и "проходил" по файлу и заменял кусок $Log:<текст>$ на новый текст $Log:<новый_текст>$
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
28.04.2017, 09:32
Цитата Сообщение от Stepa290 Посмотреть сообщение
имел виду скрипт
PowerShell
1
2
3
4
$enc=[text.encoding]::getencoding('cp866')
$reg ="новый текст
ещё строка"
[io.file]::readalltext('test.txt', $enc) -replace '(?s)(\$Log\s*\n).*?(\n--\s*\$)',"`$1$reg`$2"|out-file  -enc OEM test-out.txt
Windows Batch file
1
powershell -executionpolicy bypass "&{[io.file]::readalltext('test.txt', $([text.encoding]::getencoding('cp866'))) -replace '(?s)(\$Log\s*\n).*?(\n--\s*\$)',"""`$1новый текст`nещё строка`$2"""|out-file  -enc OEM test-out.txt}"
1
 Аватар для volodin661
6793 / 2290 / 348
Регистрация: 10.12.2013
Сообщений: 7,899
29.04.2017, 18:09
Цитата Сообщение от Stepa290 Посмотреть сообщение
я имел виду скрипт, который запускался и "проходил" по файлу и заменял кусок ...
данная строка вызова текстового редактора Vim "пройдёт" по файлу file.txt
и вставит в начало каждой строки вышеозначенного куска известный всем силам добра фрагмент <Zhoppa>,
затем сохранит изменения:
Windows Batch file
1
vim +"g/\$Log/+1,/\$/-1 s/^/<Zhoppa>" +x file.txt
Кликните здесь для просмотра всего текста
--------- Begin Version Control Data----------------------------------------
-- $URL:$
-- $Rev:$
-- $Date:$
-- $Author:$
-- $Log
<Zhoppa>sdfsdf
<Zhoppa>sdfsdfsd
<Zhoppa>fsdfsdf
<Zhoppa>sdf
-- $
--------- End Version Control Data -----------------------------------------


Добавлено через 48 минут
В первом сообщении я сказал 'средствами понятными пользователю',

уточняю, пользователю редактора vim;

global/что искать/+1 , /что искать/-1 subst/шаблон замены/заменяемый текст

global - включение режима 'для каждой строки в диапазоне'
и далее сам диапазон: начало,конец
начало: символ поиска '/' собственно строка $Log '/' +1 означает 'сместиться на N строк ниже'
конец: символ поиска '/' собственно строка $ '/' -1 означает 'сместиться на N выше'
после этого следует команда, которая будет применяться к каждой строке из диапазона
в данном случае это
subst - замена: '/' ^ - знак начала строки '/' то, что будет вставлено '/'

Добавлено через 21 минуту
И ещё одно пояснение:
все эти птичьи символы - прямые / и экранирующие обратные слэши \, ^ галочки, сочетание s/// итп
выглядят странно для виндус-пользователей, а для unix-пользователей это
привычный, домашний мир( все эффективные консольные утилиты живут именно в этом мире)
и пояснять ничего бы и не пришлось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.04.2017, 18:09
Помогаю со студенческими работами здесь

Удаление строк в текстовом файле
Доброго времени суток! Требуется помощь. Задача следующая, есть текстовый файл - 1.txt, который содержит 25000+ строк следующего...

Удаление или замена на другие символы восклицательных знаков в текстовом файле
Подскажите, пожалуйста. Есть файл txt с текстом. Там встречаются восклицательные знаки. Как можно удалить или заменить на какой-нибудь...

Удаление в текстовом файле всех строк, содержащих хотя бы одно из заданных слов
Нужно удалить в текстовом файле все строки в которых содержится хотя бы 1 из ключевых слов. Нашел код который удаляет строку по...

Замена слов в текстовом файле
Здравствуйте уважаемые знатоки ,прошу вашей помощи.Нужен батник который производит замену слов на определённое слово.В идеале было бы если...

Замена строки в текстовом файле
Помогите пожалуйста Необходимо написать батник. Находит текст в файле 1.txt. Он может меняться, начало не меняется adress= &quot;далее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru