Форматирование текста скрипотом или софтом. (соединить последовательные 2 строки и разделить знаком) | Форум Miped.ru

Форматирование текста скрипотом или софтом. (соединить последовательные 2 строки и разделить знаком)

Тема в разделе "Прочее", создана пользователем daniil33, 26 мар 2016.

Статус темы:
Закрыта.
  1. daniil33

    daniil33 Король флуда

    Регистрация:
    9 фев 2016
    Сообщения:
    410
    Симпатии:
    236
    Розыгрышей:
    0
    Репутация:
    4
    Подскажите софт или шаблон скрипта (для чайников) для перевода текста из 1 формы в 2 форму как на скрине.
    [​IMG]
    Нужно что бы скрипт копировал все после "Account: " и до "Password: ",
    ставил ":"
    и копировал все от "Password: " и до "


    Email: " (скопировал с учетом строки),
    Далее переходил на новую строчку и по новой. Или проще реализовать удаление всего ненужного + ставил ":"
     
  2. BigBadWolf

    BigBadWolf motherfucker

    Регистрация:
    3 дек 2015
    Сообщения:
    4.233
    Симпатии:
    3.642
    Розыгрышей:
    30
    Репутация:
    361
    Подсказываю: сие называется "парсинг по ключевым словам".
     
  3. vadim74a

    vadim74a Inactive

    Регистрация:
    3 окт 2013
    Сообщения:
    1.363
    Симпатии:
    1.669
    Розыгрышей:
    1
    Репутация:
    289
  4. daniil33

    daniil33 Король флуда

    Регистрация:
    9 фев 2016
    Сообщения:
    410
    Симпатии:
    236
    Розыгрышей:
    0
    Репутация:
    4
    Инструменты блокнота почти уже все сделали,, осталось только объединить строчку 1,2 в одну и между ними поставить : тд c 2.3 4,5
     
  5. Евгений

    Евгений Ebanator

    Регистрация:
    5 окт 2013
    Сообщения:
    395
    Симпатии:
    132
    Розыгрышей:
    0
    Репутация:
    270
    попробул бы тебе накалякать на пайтоне, но тебе нужын ж bat ?
     
  6. daniil33

    daniil33 Король флуда

    Регистрация:
    9 фев 2016
    Сообщения:
    410
    Симпатии:
    236
    Розыгрышей:
    0
    Репутация:
    4
    да мне любой подойдет,,,,, bat я указал как наиболее понятный для меня
     
  7. daniil33

    daniil33 Король флуда

    Регистрация:
    9 фев 2016
    Сообщения:
    410
    Симпатии:
    236
    Розыгрышей:
    0
    Репутация:
    4
    нашел на форумах то что мне нужно
    "
    Имеется файл цитат в формате:

    Цитата.
    Автор
    ...

    Вот образец:

    Многие многознайки не имеют ума.
    Демокрит
    Суть дела не в полноте знания, а в полноте разумения.
    Демокрит
    В духовной жизни, как и в практической жизни, тот, у которого знания держатся, всегда прогрессирует и имеет успех.
    У. Джеймс
    Образование придает человеку достоинство, да и раб начинает сознавать, что он не рожден для рабства.
    Д. Дидро
    ...

    Хотелось бы получить в формате:

    Цитата. - Автор

    То есть объединить 2 каждые подряд идущие строки в одну, желательно с каким-то разделителем например "-":
    То есть для моего примера хотелось бы получить:

    Многие многознайки не имеют ума. - Демокрит
    Суть дела не в полноте знания, а в полноте разумения. - Демокрит
    В духовной жизни, как и в практической жизни, тот, у которого знания держатся, всегда прогрессирует и имеет успех. - У. Джеймс
    Образование придает человеку достоинство, да и раб начинает сознавать, что он не рожден для рабства. - Д. Дидро
    ...

    Думаю можно как-то с помощью sed или grep, помогите разобраться."
    "
    Сделал.
    Но опубликую здесь, может кому-то пригодится :)

    sed -n '1~2p' af > texts.txt
    sed -n '0~2p' af > autors.txt
    paste --delimiters='' texts.txt delimiter autors.txt > aforizm_lines.txt
    где
    af - файл афоризмов в формате:

    Цитата.
    Автор
    ...

    delimiter - файл, содержащий только строки " - " в количестве равном количеству строк файла texts.txt и autors.txt (это для объединения).
    aforizm_lines.txt - файл в формате:

    Цитата. - Автор
    "
     
  8. daniil33

    daniil33 Король флуда

    Регистрация:
    9 фев 2016
    Сообщения:
    410
    Симпатии:
    236
    Розыгрышей:
    0
    Репутация:
    4
    там кстати и на питоне есть реализация

    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    f = open('file','r')
    stock = {}
    for line in f.readlines():
    stock[line.split()[0]] = stock.get(line.split()[0],[]) + line.split()[1:]
    f = open('file_sorted', 'w')
    for key in stock:
    f.write(key+str(stock[key])+'\n')
     
  9. daniil33

    daniil33 Король флуда

    Регистрация:
    9 фев 2016
    Сообщения:
    410
    Симпатии:
    236
    Розыгрышей:
    0
    Репутация:
    4
    ужс чет не катит
     
Статус темы:
Закрыта.

Поделиться этой страницей

  • Яндекс.Метрика
  • Рейтинг@Mail.ru