4 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 75
|
|
1 | |
Как в текстовом файле удалить все строки, начиная с первой, до строки, соответствующей определенному значению?21.06.2013, 23:43. Показов 4109. Ответов 17
Метки нет Все метки)
(
как взять первые 11 символов (цифры) в последней строке с 1.txt и последней строке в 2.txt потом сравнить какое значение (цифра) больше, взять большее значение (цифра-Х) далее в 3.txt удалить строки с 1-ой до строки соответствующей цифре-Х?
0
|
|
21.06.2013, 23:43 | |
Ответы с готовыми решениями:
17
Как в текстовом файле удалить все строки, начиная с первой, до строки, соответствующей определенному значению?
Удалить все строки с первой до строки, на которой находится номер Удалить определённую часть каждой строки в текстовом файле |
4 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 75
|
|
22.06.2013, 17:10 [ТС] | 3 |
Нет ни у кого никаких мыслей??? Ну ОЧЕНЬ НАДО решить эту задачу.
0
|
4 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 75
|
|||||||
22.06.2013, 17:40 [ТС] | 4 | ||||||
как через cmd скопировать первые 11 символов из последней строчки?
0
|
1778 / 760 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
|
||||||
22.06.2013, 18:48 | 5 | |||||
1
|
Модератор
4919 / 1975 / 385
Регистрация: 06.01.2013
Сообщений: 4,670
|
||||||
22.06.2013, 20:32 | 6 | |||||
2
|
![]() ![]() |
||||||
22.06.2013, 21:02 | 7 | |||||
Вы не отвечаете на вопросы. Странно в такой ситуации ожидать ответ.
@FraidZZ, set cifra=!cifra:~0,11! можно было сместить на новую строку вне цикла. Причина: скорость работы. Вместо строк 6-14 можно:
Не важно. Интереснее другое: разве в этой конструкции не должны присваиваться только нечетные строки?
0
|
Модератор
4919 / 1975 / 385
Регистрация: 06.01.2013
Сообщений: 4,670
|
|
22.06.2013, 21:25 | 8 |
Нет. Первый присвоение без ключа /р, оно просто обнуляет.
0
|
![]() ![]() |
|
22.06.2013, 21:34 | 9 |
@FraidZZ, понял. Если строка пустая, то команде set /p передается просто nul, и старое значение псевдомассива не обнуляется.
Обнуление понадобилось с целью возможности повторного использования функции.
0
|
4 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 75
|
|
22.06.2013, 22:38 [ТС] | 10 |
Не получается так
![]()
0
|
4 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 75
|
|
22.06.2013, 23:37 [ТС] | 12 |
1.txt и 2.txt выглядят так:
77471908080;03.06.2013 21:37:18 87015010150;18.06.2013 11:16:43 87770142772;18.06.2013 11:17:16 87770142772;18.06.2013 11:18:22 а 3.txt так: 77471908080 87015010150 87770142772 87770142772
0
|
Модератор
4919 / 1975 / 385
Регистрация: 06.01.2013
Сообщений: 4,670
|
|
23.06.2013, 12:48 | 13 |
А у тебя там более 10000000000 строк?
Добавлено через 4 минуты @ql_didar, тебе нужно удалить все строки вплоть до 87770142772 - ой? Найди мне сначала такой файл
0
|
4 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 75
|
|
23.06.2013, 14:31 [ТС] | 14 |
87770142772 это не номер строки, а "слово" в стоке. 1.txt и 2.txt выглядят одинаково (как в примере выше) но содержат разные данные, нужно взять из последних строк 1.txt и 2.txt первые 11 символов, а это будут 11 цифр, сравнить какая из них больше. далее найти в 3.txt эту цифру (в 3.txt на каждой строке только 11 цифр, строк до 50 000).
НАПРИМЕР: в 1.txt последняя строка выглядит так: 87770142772;18.06.2013 11:18:22 значит нам нужно взять первые 11 символов, а это 87770142772 в 2.txt последняя строка выглядит так: 87471908080;03.06.2013 21:37:18 значит нам нужно взять первые 11 символов, а это 87471908080 далее нужно сравнить какая из этих цифр больше 87770142772 или 87471908080 87770142772 больше значит ищем в 3.txt "слово" - 87770142772 и удаляем все строки от начала до строки соответствующей "слову" - 87770142772 включительно ВСЕМ БУДУ ОЧЕНЬ ПРИЗНАТЕЛЕН ЗА ОТВЕТЫ!
0
|
Модератор
4919 / 1975 / 385
Регистрация: 06.01.2013
Сообщений: 4,670
|
||||||
23.06.2013, 15:54 | 15 | |||||
0
|
Dragokas
|
23.06.2013, 18:04
#16
|
0
|
4 / 0 / 0
Регистрация: 21.06.2013
Сообщений: 75
|
|
24.06.2013, 16:52 [ТС] | 17 |
[QUOTE=FraidZZ;[/QUOTE]
Во всех случаях удаляет из 3.txt только то что берет из 1.txt, 2.txt не влияет на процесс не зависимо от того большее там значение или меньшее, чем из 1.txt. И еще очень важный момент, если в 3.txt нет искомого "слова" то код прочищает весь 3.txt, что не допустимо. Если честно, меня вполне устроит следующий вариант: пункт1 Взять первые 11 символов (обозначим как "слово1") из 1.txt, найти "слово1" в 3.txt и удалить из 3.txt все строки от начала до строки соответствующей "слову1" включительно. Если "слово1" отсутствует в 3.txt то идти к пункту2. пункт2 Взять первые 11 символов (обозначим как "слово2") из 2.txt, найти "слово2" в 3.txt и удалить из 3.txt все строки от начала до строки соответствующей "слову2" включительно. Если "слово2" отсутствует в 3.txt завершить процесс. Добавлено через 12 часов 30 минут FraidZZ помогите пожалуйста решить эту задачу!!! ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ НАДО! ПОЖАААААЛУЙСТА!!! Добавлено через 7 часов 10 минут ПОМОГИТЕЕЕЕ! как сделать так чтоб Ваш код не удалял все из 3.txt в случае отсутствия там искомого значения??????????
0
|
![]() ![]() |
|
24.06.2013, 20:34 | 18 |
Сделал часть Вашей задачи:
Тонкости языка, редкие команды и сложные скрипты
0
|
24.06.2013, 20:34 | |
Помогаю со студенческими работами здесь
18
Удалить некоторые строки в текстовом файле (UTF-8) по условию Удалить в текстовом файле 1.txt все строки, которые встречаются в текстовом файле 2.txt
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |