0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 29
1

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

06.05.2013, 01:01. Показов 15307. Ответов 8
Метки нет (Все метки)

Добрый вечер. Необходима помощь в написании bat, который бы заменил:
Bash
1
"restore_ps": [ "ТУТ БУДЕТ РАЗНЫЙ ТЕКСТ" ]
на
Bash
1
"restore_ps": [ "2300111" ]
Учитывая что "ТУТ БУДЕТ РАЗНЫЙ ТЕКСТ" может иметь любое содержание, а заменяло именно на нужное.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2013, 01:01
Ответы с готовыми решениями:

Замена в текстовом файле заключённой в кавычки части каждой строки вместе с кавычками
Здравствуйте. Пожалуйста помогите разобраться в следующей задаче. Есть текстовый файл names.txt...

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

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

Замена в текстовом файле заданной строки на порядковый номер её вхождения в текст
Всем привет! Нуждаюсь в Вашей помощи. Есть текстовый файл file1.txt с примерно таким содержимым: ...

8
Эксперт WindowsАвтор FAQ
17782 / 7518 / 888
Регистрация: 25.12.2011
Сообщений: 11,287
Записей в блоге: 16
06.05.2013, 03:34 2
Bash
1
2
3
4
5
6
7
8
9
10
@echo off
setLocal EnableExtensions
set file=file.txt
set dest=result.txt
for /f "UseBackq tokens=1* Delims=[" %%a in ("%file%") do (
  if "%%a"==""restore_ps": " (echo %%a[ "2300111" ]>>"%dest%") else (
  if "%%b" neq "" (echo %%a[%%b>>"%dest%") else (
  echo %%a>>"%dest%"
)))
pause
4
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 29
06.05.2013, 15:22  [ТС] 3
Спасибо огромное, всё работает отлично!

Небольшая проблема появилась, если до "restore_ps": [ "ТУТ БУДЕТ РАЗНЫЙ ТЕКСТ" ] имеються пробелы, то замена не происходит.

Добавлено через 6 минут
Конечно если известно количество пробелов, то можно в этой часте кода:
if "%%a"==" ПРОБЕЛ "restore_ps": "
Их установить, но хочеться это сделать если это нам это не известно.
0
Эксперт WindowsАвтор FAQ
17782 / 7518 / 888
Регистрация: 25.12.2011
Сообщений: 11,287
Записей в блоге: 16
06.05.2013, 16:48 4
Строку 6 заменить на это:

Bash
6
echo.%%a|>nul find "restore_ps"&& echo %%a[ "2300111" ]>>"%dest%"||(
3
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 29
06.05.2013, 17:15  [ТС] 5
Да, теперь всё работает, спасибо.
0
0 / 0 / 0
Регистрация: 05.07.2015
Сообщений: 1
11.07.2015, 10:39 6
доброе время суток, подскажите, а если [ "2300111" ] будет переменной берущейся скажем из файла rnd.txt, то как будет выглядеть батник?
0
Эксперт WindowsАвтор FAQ
17782 / 7518 / 888
Регистрация: 25.12.2011
Сообщений: 11,287
Записей в блоге: 16
11.07.2015, 15:00 7
Тогда эту часть
Цитата Сообщение от apelsinn4k Посмотреть сообщение
[ "2300111" ]
заменить на переменную %replace%
А в начале пакетного файла написать:
Windows Batch file
1
set /p replace=<"rnd.txt"
2
0 / 0 / 0
Регистрация: 22.07.2015
Сообщений: 1
22.07.2015, 12:12 8
Доброго времени суток. Пробовал применить данный скрипт к своей ситуации, но как то не айс (((
Файлы у меня примерно по 1000 строк идут блоками разными по размеру
Кликните здесь для просмотра всего текста

Код
                                                       ЙНДДДДДДДДДДДДДДН»
ЙНДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩЫЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЫ
єЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ   RTS17/32../  ЫЫЫЫЫЫ
іЫ                                                      ЫЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЫ    Ы°
іЫ                                                                            Ы°
іЫ                            TEXT                                            Ы°
іЫ                                                                            Ы°
єЫ                                                                            Ы°
ИЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ°
  °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
                                                       ЙНДДДДДДДДДДДДДДН»
ЙНДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩЫЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЫ
єЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ   BDM85/001./  ЫЫЫЫЫЫ
іЫ                                                      ЫЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЫ    Ы°
іЫ                                                                            Ы°
іЫ   TEXT                                                                     Ы°
іЫ   TEXT                                                                     Ы°
іЫ   TEXT                                                                     Ы°
іЫ   TEXT                                                                     Ы°
іЫ   TEXT                                                                     Ы°
іЫ   TEXT                                                                     Ы°
іЫ                                                                            Ы°
єЫ                                                                            Ы°
ИЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ°
  °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

Получается, чтобы убрать это "обрамление", нужно в одном тексте произвести 11 замен части текста на 1 пробел, либо удалить
Кликните здесь для просмотра всего текста
Код
/  °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°/
/ИЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ°/
/єЫ                                                                            Ы°/
/іЫ                                                                            Ы°/
/іЫ                                                      ЫЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЬЫ    Ы°/
/ЙНДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩЫЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЯЫ/
/                                                       ЙНДДДДДДДДДДДДДДН»/
/єЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ/
/ЫЫЫЫЫЫ/
/іЫ   /
/Ы°/


В написании bat к сожалению не силен.
Буду признателен за оказанную помощь или подсказку.
0
Dragokas
22.07.2015, 13:22     Замена части строки в текстовом файле
  #9

Не по теме:

Задание как раз для товарища volodin661. Есть возможность проявить мастер-класс на языке Perl.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2015, 13:22

Поиск заданного текста (части строки) в текстовом файле и вывод результата построчно в другой текстовый файл
Здравствуйте! Есть файл 1.txt вида: &lt;img align=&quot;middle&quot; src=&quot;client.gif&quot;&gt;&amp;nbsp;&lt;a...

Замена символов в текстовом файле
Добрый день , есть батник в котором пробелы меняются на , Необходимо чтобы пробелы менялись на...

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

Замена символов в текстовом файле
Добрый день у меня такой вопрос. Есть файл test.txt предположим в нем такое...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru