Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Создание файлов с форматированием текста из других файлов
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Jun 21, 2010 15:26    Post subject: Создание файлов с форматированием текста из других файлов Reply with quote

Есть пару выделенных файлов, один в одной панели, другой в другой.
В файле 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
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Mon Jun 21, 2010 20:28    Post subject: Re: Создание файлов с форматированием текста из других файлов Reply with quote

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
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Jun 21, 2010 21:07    Post subject: Reply with quote

Tol!k
О, ожидаемые люди! Smile
Файл под курсором, пишу в комстроке ТС предложенную строку - создаётся пустой файл. То же самое с кнопкой, пишу cmd /c >N.txt ssed.exe -n -r s/.*=(\"[^\"]*\").*/\1/p , в параметрах %N, результат аналогичный.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Mon Jun 21, 2010 21:10    Post subject: Reply with quote

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
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Mon Jun 21, 2010 21:14    Post subject: Reply with quote

Flasher wrote:
пишу в комстроке ТС предложенную строку - создаётся пустой файл.
ssed.exe не доступен Confused

Кнопка:
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
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Jun 21, 2010 21:30    Post subject: Reply with quote

Tol!k wrote:
в A.txt не должно быть лишних строк (д.б. ровно сколько в N.txt)
Вот в чём дело. А это никак обойти нельзя? А то у меня там есть разные текстовые вставки, можно такие строки как-то игнорировать вместе с пустыми строками? Мне нужны эти строки для описания, как секции.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Mon Jun 21, 2010 21:37    Post subject: Reply with quote

Пустые строки не проблема, они не учитываются.

Как различать нужные-ненужные строки?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Mon Jun 21, 2010 21:57    Post subject: Reply with quote

Tol!k wrote:
Пустые строки не проблема, они не учитываются.
Я попробывал удалить все, оставив из лишних только пустые, всё равно создаётся пустой файл.
Tol!k wrote:
Как различать нужные-ненужные строки?
Ненужные строки в начале не содержат цифр.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Mon Jun 21, 2010 23:36    Post subject: Reply with quote

Flasher wrote:
Ненужные строки в начале не содержат цифр.
Добавил фильтры
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Jun 22, 2010 00:36    Post subject: Reply with quote

Tol!k wrote:
ssed.exe не доступен Confused
И где мне его взять, и куда вшить? Пока по нулям.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Jun 22, 2010 00:54    Post subject: Reply with quote

http://sed.sourceforge.net/grabbag/ssed/sed-3.62.zip
Положить в папку, прописанную в %PATH%
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Jun 22, 2010 12:56    Post subject: Reply with quote

В %Path% у меня несколько папок прописано, есть ТС, system32, закинул и туда и туда. Создал файлик B.txt с содержимым:
    87678="блабла"бубу""
    84567="бабаба"бубе""

Курсор на нём, жму кнопку - создаётся опять пустой.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Jun 22, 2010 17:50    Post subject: Reply with quote

Похоже, у тебя уникодные файлы
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Jun 22, 2010 18:15    Post subject: Reply with quote

Нет, по умолчанию при сохранении в AkelPad стоит ANSI.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Jun 22, 2010 19:00    Post subject: Reply with quote

Выкладывай файлы (в архиве)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group