View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jun 21, 2010 15:26 Post subject: Создание файлов с форматированием текста из других файлов |
|
|
Есть пару выделенных файлов, один в одной панели, другой в другой.
В файле A список:
232....="ТекстX"
7543..="ТекстY"
461..="Текст..Z"
...
в файле B список:
232....="Нужный текстX"блабла""
7543..="Нужный текстY"блабла""
461..="Нужный текст..Z"блабла""
...
Необходимо создать ещё два файла:
в новом первом файле N вставить отформатированный файл B, оставив только строки с "Нужный текст~"
во втором новом файле M сделать следующих список:
"Нужный текстX"="ТекстX"
"Нужный текстY"="ТекстY"
"Нужный текст..Z"="Текст..Z"
...
Просьба помочь! Списки длинные, чтобы ручками править. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Mon Jun 21, 2010 20:28 Post subject: Re: Создание файлов с форматированием текста из других файлов |
|
|
Flasher wrote: | в новом первом файле N вставить отформатированный файл B, оставив только строки с "Нужный текст~" |
Code: | findstr /b /r /c:[0-9]*= "B.txt" |>N.txt ssed.exe -n -r s/.+=(\"[^\"]+\").+/\1/p |
Last edited by Tol!k on Mon Jun 21, 2010 23:35; edited 2 times in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jun 21, 2010 21:07 Post subject: |
|
|
Tol!k
О, ожидаемые люди!
Файл под курсором, пишу в комстроке ТС предложенную строку - создаётся пустой файл. То же самое с кнопкой, пишу cmd /c >N.txt ssed.exe -n -r s/.*=(\"[^\"]*\").*/\1/p , в параметрах %N, результат аналогичный. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Mon Jun 21, 2010 21:10 Post subject: |
|
|
M.cmd: Code: | @echo off &chcp 1251 >nul
setlocal enableextensions
set /a s=0
for /f "tokens=2 delims==" %%a in ('findstr /b /r /c:[0-9]*= "A.txt"') do call :s %%a
set /a s=0
for /f "usebackq delims=" %%a in ("N.txt") do call :o %%a
endlocal
goto :eof
:s
set /a s+=1 &set str%s%=%1
goto :eof
:o
set /a s+=1 &call echo %1=%%str%s%%%>> "M.txt"
goto :eof
|
Note:
в A.txt и B.txt строки должны соответствовать;
в A.txt не должно быть лишних строк (д.б. ровно сколько в N.txt)
Last edited by Tol!k on Mon Jun 21, 2010 23:34; edited 2 times in total |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Mon Jun 21, 2010 21:14 Post subject: |
|
|
Flasher wrote: | пишу в комстроке ТС предложенную строку - создаётся пустой файл. | ssed.exe не доступен
Кнопка: Code: | TOTALCMD#BAR#DATA
%comspec% /c
findstr /b /r /c:[0-9]*= %N |>N.txt ssed.exe -n -r s/.+=(\"[^\"]+\").+/\1/p
%COMMANDER_PATH%\TOTALCMD.EXE,26
N.txt
1
-1 |
Last edited by Tol!k on Mon Jun 21, 2010 23:33; edited 2 times in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jun 21, 2010 21:30 Post subject: |
|
|
Tol!k wrote: | в A.txt не должно быть лишних строк (д.б. ровно сколько в N.txt) | Вот в чём дело. А это никак обойти нельзя? А то у меня там есть разные текстовые вставки, можно такие строки как-то игнорировать вместе с пустыми строками? Мне нужны эти строки для описания, как секции. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Mon Jun 21, 2010 21:37 Post subject: |
|
|
Пустые строки не проблема, они не учитываются.
Как различать нужные-ненужные строки? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jun 21, 2010 21:57 Post subject: |
|
|
Tol!k wrote: | Пустые строки не проблема, они не учитываются. | Я попробывал удалить все, оставив из лишних только пустые, всё равно создаётся пустой файл. Tol!k wrote: | Как различать нужные-ненужные строки? | Ненужные строки в начале не содержат цифр. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Mon Jun 21, 2010 23:36 Post subject: |
|
|
Flasher wrote: | Ненужные строки в начале не содержат цифр. | Добавил фильтры |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 22, 2010 00:36 Post subject: |
|
|
Tol!k wrote: | ssed.exe не доступен | И где мне его взять, и куда вшить? Пока по нулям. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 22, 2010 12:56 Post subject: |
|
|
В %Path% у меня несколько папок прописано, есть ТС, system32, закинул и туда и туда. Создал файлик B.txt с содержимым:
87678="блабла"бубу""
84567="бабаба"бубе""
Курсор на нём, жму кнопку - создаётся опять пустой. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Jun 22, 2010 17:50 Post subject: |
|
|
Похоже, у тебя уникодные файлы |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jun 22, 2010 18:15 Post subject: |
|
|
Нет, по умолчанию при сохранении в AkelPad стоит ANSI. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Jun 22, 2010 19:00 Post subject: |
|
|
Выкладывай файлы (в архиве) |
|
Back to top |
|
|
|