Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Работа с текстовым файлом и строками в нем

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

Sonora6738

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста. В текстовом файле хранятся строки, состоящие из слов, разделенных одним или несколькими пробелами. Удалить в текущей строке те слова, которые начинаются и заканчиваются на одну и ту же букву, и записать преобразованные строки в новый файл.

Всего записей: 1 | Зарегистр. 23-05-2022 | Отправлено: 21:22 23-05-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sonora6738
ну? даже язык, блин, не упомянули.

Всего записей: 15108 | Зарегистр. 20-09-2014 | Отправлено: 23:20 23-05-2022
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да!
на каком языке написан этот текстовый файл?

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 13:08 24-05-2022
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii, akaGM,
А есть принципиальная разница при решении подобной задачи?
 

Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 13:14 08-06-2022
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
 
а как же :)
 
лично я имел в виду не ЯП, а язык, на котором написана анализируемая информация,
т.е. просто издевался, если кто не понял...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 23:51 08-06-2022 | Исправлено: akaGM, 23:51 08-06-2022
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
лично я имел в виду не ЯП, а язык, на котором написана анализируемая информация,  

О ЯП даже и не подумал.

Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 19:45 09-06-2022
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
los
 
ну тогда жди этого клиента в топе об "алгоритмах" :)

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 00:40 10-06-2022
los

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
ну тогда жди этого клиента в топе об "алгоритмах"

может и в теме о регулярных выражениях вынырнет.

Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 09:44 10-06-2022
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
он уже сдал зачОт...

Всего записей: 24112 | Зарегистр. 06-12-2002 | Отправлено: 11:47 10-06-2022
Celsus



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прочитал в интернете, что для моей цели удобен AWK. Но может, с задачей справится  AutoHotkey.
Есть много папок, которые начинаются, например, так:
 
[US001] слова числа символы
[US002] слова числа символы
[US003] слова числа символы
[USR001] слова числа символы
[USC001] слова числа символы
 
1) В этих папках есть файлы с одинаковым именем 123.txt, в каждом файле нужно скопировать весь текст, кроме двух последних строк. Также есть файл 555.txt, в который нужно все копировать содержимое файлов 123.txt. Условие такое: если название папки с файлом 123.txt начинается с [US001], то в файле 555.txt нужно найти строку, название которой также начинается с [US001], после этой строки найти блок текста, который много раз повторяется в этом файле, и в его середину, в пустую строку, вставить содержимое 123.txt кроме последних 2 пустых строк:
слова числа символы.
слова числа символы.
слова числа символы.
Начало блока:
слова числа символы[US001]слова числа символы .
слова числа символы.
слова числа символы.
слова числа символы.
слова числа символы.
слова числа символы.
Повторяющийся текст во всех блоках:
dasda-ds=afasd.
fsd]

 
fds]
sdfs-df=sd

jhkhh-hjkh=faasda.
fsd]
 
fds]
sdfs-df=sd.
слова числа символы.
Конец блока 1.
В середину жирного текста надо вставить текст, скопированный из файла 123.txt из папки, название которой начинается с [US001].
 
То же самое с папкой [US002], в которой также есть файл с таким же именем 123.txt, но с другим текстом внутри, который тоже нужно скопировать, кроме двух пустых последних строк, и вставить в файл 555.txt после блока, в котором есть [US002], в пустую строку в середине другого жирного текста:
fds]
sdfs-df=sd.
слова числа символы.
Конец блока 1.
Блок 2:
слова числа символы[US001]слова числа символы.
слова числа символы.
слова числа символы.
слова числа символы.
слова числа символы.
слова числа символы.
Повторяющийся текст во всех блоках:
dasda-ds=afasd.
fsd]

 
fds]
sdfs-df=sd

jhkhh-hjkh=faasda.
fsd]
 
fds]
sdfs-df=sd.
 
2) В папках еще есть текстовые файлы 456.txt, в них нужно скопировать весь текст, кроме первых шести строк (пустых и непустых) и кроме последней пустой строки, так же в файле 555.txt найти строку, в которой есть [US002], вставить в середину другого повторяющегося абзаца, который идет сразу же следом за тем первым:
jhkhh-hjkh=faasda.
fsd]
 
fds]
sdfs-df=sd.
 
Результат должен быть таким :
слова числа символы.
слова числа символы.
Блок 1:
слова числа символы[US001]слова числа символы.
слова числа символы.
слова числа символы.
слова числа символы.
dasda-ds=afasd.
fsd]
текст, скопированный из 123.txt из папки, название которой начинается с [US001].
fds]
sdfs-df=sd.
jhkhh-hjkh=faasda.
fsd]
текст, скопированный из 456.txt из папки, название которой начинается с [US001].
fds]
sdfs-df=sd.
слова числа символы.
Конец блока 1.
Блок 2:
слова числа символы[US002]слова числа символы.
слова числа символы.
слова числа символы.
слова числа символы.
dasda-ds=afasd.
fsd]
текст, скопированный из 123.txt из папки, название которой начинается с [US002].
fds]
sdfs-df=sd.
jhkhh-hjkh=faasda.
fsd]
текст, скопированный из 456.txt из папки, название которой начинается с [US002].
fds]
sdfs-df=sd.
слова числа символы.
Конец блока 2.
 
Пока я только нашел способ выделить текст в файлах 123 и 456 в awk.  
123:

Код:
'$1~/^f/,/=$/ {print}'

456:

Код:
'NF{print s $0; s=""; next} {s=s ORS}'

Всего записей: 364 | Зарегистр. 02-04-2011 | Отправлено: 19:30 12-09-2022 | Исправлено: Celsus, 07:48 14-09-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Celsus

Цитата:
Прочитал в интернете, что для моей цели удобен AWK.

UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;
 

Цитата:
Но может, с задачей справится  AutoHotkey.

AutoHotkey

Всего записей: 15108 | Зарегистр. 20-09-2014 | Отправлено: 20:07 20-09-2022
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Работа с текстовым файлом и строками в нем


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru