Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Данные из .txt

Ответить
Настройки темы
CMD/BAT - [решено] Данные из .txt

Аватара для aggressor_

Пользователь


Сообщения: 101
Благодарности: 3


Конфигурация

Профиль | Отправить PM | Цитировать


Всем привет!
Есть txt файл в котором вот такие строки
Цитата:
('snkolja@mail.ru', '14e1b6440b1fd579f47433b68e8d85271', 'kolja', 10190, 0, 0, 4, '1290335838', '1253778199', '', 1, '', '', '', 'Николай', 'Minsk, '', '', 1, 0, '', '', '', '4d6fe3e748a4fb8964073324880e393b', '4.8.247.250', 0, 0, '', 0, 0, 0, '0', '0', 0, 0, '0', '', '', '', '', '', '', '', '', '', '', '', ''),
Нужно что бы было так:
Цитата:
snkolja@mail.ru
14e1b6440b1fd579f47433b68e8d85271
kolja
10190
Николай
Minsk

...
Необходимо подчёркнутое перенести в другой txt файл (подчеркнул я для наглядности). Руками не подойдёт, очень много. Можно ли как-нибудь данный процесс автоматизировать?
Да, это из MySQL))

Выствил CMD/BAT, но это не имеет значение, подойдёт любой способ...

Отправлено: 03:36, 13-04-2011

 

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата aggressor_:
Есть txt файл в котором вот такие строки »
следовало бы привести минимум 2 строки, а то запятая в конце наводит на разные нехорошие мысли...
тем не менее, вариант на AWK:
Код: Выделить весь код
<1.txt >2.txt gawk -v FS="^[(]'?|'?, '?" -v _=\n "{print $2_$3_$4_$5_$16_$17_}"
1.txt - исходный файл
2.txt - результат
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:33, 13-04-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для aggressor_

Пользователь


Сообщения: 101
Благодарности: 3

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
('djusli@inbox.ru', '43b09a474f90cfc26a335c8b7413211a', 'imane', 22501, 0, 0, 4, '1275678577', '1261521831', '', 1, '', '', '', 'Андрей', 'Минск', 'Номер ICQ', '', 1, 1, '', '', '', '83c3c8fbe2143f33d11e25f185c615a0', '9.5.87.173', 0, 0, '', 0, 0, 0, '0', '0', 0, 0, '0', '', '', '', '', '', '', '', '', '', '', '', ''),
('fwqrt@mail.ru', '69fy4u79e3619bcd79fdf55dc0a0699b', 'Sm', 22500, 0, 1, 4, '1270201314', '1261521656', '', 1, '', '', '', 'Артём', 'Минск', 'Номер ICQ', '', 1, 1, '', '', '', '803aab649bff7684449db020ee96a5ddb', '8.0.162.138', 0, 0, '', 0, 0, 0, '0', '0', 0, 0, '0', '', '', '', '', '', '', '', '', '', '', '', ''),
и так далее, каждая запись с новой строки, оканчивается запятой.
Цитата:
Код: Выделить весь код
<1.txt >2.txt gawk -v FS="^[(]'?|'?, '?" -v _=\n "{print $2_$3_$4_$5_$16_$17_}"
1.txt - исходный файл
2.txt - результат
Нужно указывать путь? Это в батник?

Отправлено: 15:02, 13-04-2011 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


батник из одной строки... предполагается, что сам батник, gawk.exe и 1.txt лежат в одной папке, иначе нужно указывать пути

Отправлено: 16:52, 13-04-2011 | #4


Аватара для aggressor_

Пользователь


Сообщения: 101
Благодарности: 3

Профиль | Отправить PM | Цитировать


что-то не работает, создал txt, в него скопировал
Код: Выделить весь код
<1.txt >2.txt gawk -v FS="^[(]'?|'?, '?" -v _=\n "{print $2_$3_$4_$5_$16_$17_}"
переименовал в copy.bat

в 1.txt мои строки
Код: Выделить весь код
('djusli@inbox.ru', '43b09a474f90cfc26a335c8b7413211a', 'imane', 22501, 0, 0, 4, '1275678577', '1261521831', '', 1, '', '', '', 'Андрей', 'Минск', 'Номер ICQ', '', 1, 1, '', '', '', '83c3c8fbe2143f33d11e25f185c615a0', '9.5.87.173', 0, 0, '', 0, 0, 0, '0', '0', 0, 0, '0', '', '', '', '', '', '', '', '', '', '', '', ''), 
('fwqrt@mail.ru', '69fy4u79e3619bcd79fdf55dc0a0699b', 'Sm', 22500, 0, 1, 4, '1270201314', '1261521656', '', 1, '', '', '', 'Артём', 'Минск', 'Номер ICQ', '', 1, 1, '', '', '', '803aab649bff7684449db020ee96a5ddb', '8.0.162.138', 0, 0, '', 0, 0, 0, '0', '0', 0, 0, '0', '', '', '', '', '', '', '', '', '', '', '', ''),
дополнительно создал 2.txt, всё в одной папке. По нажатию на copy.bat ничего не происходит.
Может нужна какая-то определённая кодировка?
----------------------------------

если 2.txt не создавать, то после выполнения батника появляется пустой txt файл.

Отправлено: 18:36, 13-04-2011 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


aggressor_, а GAWK.EXE из архива по линку поста #2 скопировали в эту папку?..
2.txt не нужен - он создаётся как результат работы батника
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:40, 13-04-2011 | #6


Аватара для aggressor_

Пользователь


Сообщения: 101
Благодарности: 3

Профиль | Отправить PM | Цитировать


Большое спасибо, заработало))

Цитата:
snkolja@mail.ru
14e1b6440b1fd579f47433b68e8d85271
kolja
10190
Николай
Minsk
а можно сделать сортировку по этому пункту в порядке возрастания?
Напр
Цитата:
snkolja@mail.ru
14e1b6440b1fd579f47433b68e8d85271
kolja
10190
Николай
Minsk

s23ja@mail.ru
14e1b6440b1fd579f47433b68e8d85271
lesha
10191
Алексей
Minsk

Последний раз редактировалось aggressor_, 13-04-2011 в 18:58.


Отправлено: 18:49, 13-04-2011 | #7


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата aggressor_:
а можно сделать сортировку по этому пункту в порядке возрастания? »
за один проход уже не выйдет, как-то так:
Код: Выделить весь код
<1.txt gawk -v FS="^[(]'?|'?, '?" -v _=^| "{print $5_$2_$3_$4_$16_$17}"|sort|gawk -v FS=^| -v _=\n "{print $2_$3_$4_$1_$5_$6_}">2.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:21, 13-04-2011 | #8


Аватара для aggressor_

Пользователь


Сообщения: 101
Благодарности: 3

Профиль | Отправить PM | Цитировать


немного не так , он сортирует так
1
10
100
1001
и т.д.

Ну ладно, без сортировки тоже хорошо.

Отправлено: 19:27, 13-04-2011 | #9


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


тогда еще вариант:
Код: Выделить весь код
<1.txt gawk -v FS="^[(]'?|'?, '?" -v _=^| "{printf\"%%10i\",$5;print _$2_$3_$4_$16_$17}"|sort|gawk -v FS="^ *|[|]" -v _=\n "{print $3_$4_$5_$2_$6_$7_}">2.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:55, 13-04-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Данные из .txt

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. OSArev Скриптовые языки администрирования Windows 2 30-01-2011 11:58
Разное - txt -> hex dkrasny Программирование и базы данных 2 02-05-2010 00:41
[решено] Вставить строчку из одного txt в оределённое место другого txt ZeroCrash AutoIt 7 13-07-2009 07:35
Разное - написать программу, чтобы она вытаскивала данные из .txt или .xls exo Программирование и базы данных 5 10-07-2009 20:46
TXT в JPG FADE Вебмастеру 12 04-07-2004 01:31




 
Переход