Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
17.10.2013, 10:40
|
|||
---|---|---|---|
|
|||
Как прочитать файл с конца? |
|||
#18+
Подскажите, пожалуйста? Хочу, к примеру, последние 10 строк вывести.. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2013, 10:46
|
|||
---|---|---|---|
Как прочитать файл с конца? |
|||
#18+
coder1cv8Подскажите, пожалуйста? Хочу, к примеру, последние 10 строк вывести.. у стримов есть метод MoveTo, который переместит позицию чтения в нужное вам место, вот и двигайте ее в нужное место, вот только так чтобы последние 10 строк не получится, проще вам сами прочитать все построчно с самого начала, или с конца читать блоками например по 100 символов и считать сколько там переводов строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2013, 10:52
|
|||
---|---|---|---|
|
|||
Как прочитать файл с конца? |
|||
#18+
А можно примерчик? авторs stream = ##class(%FileCharacterStream).%New() s stream.Filename = fileName d stream.MoveToEnd() Дальше while пока что? Пусть не количество строк будет, а читаем пока не встретим определенного содержания строку, так проще? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2013, 10:54
|
|||
---|---|---|---|
Как прочитать файл с конца? |
|||
#18+
если ты переместишься в конец, то читать уже будет нечего там уже конец файла, нет чтения в обратном порядке. поэтому нужно сдвинуться на позицию Size-100, прочитать 100 символов, проверить, если нужно еще, двигаемся еще назад Size-200 и опять читаем 100, проверяем и так далее, пока не найдем нужные нам данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2013, 10:59
|
|||
---|---|---|---|
|
|||
Как прочитать файл с конца? |
|||
#18+
DAiMor , а! дошло. Спасибо! Проще тогда с начала весь файл прочитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.10.2013, 12:50
|
|||
---|---|---|---|
|
|||
Как прочитать файл с конца? |
|||
#18+
я каше не читал, но ... :) а что под линуксом нельзя используя пайпы и команду tail передать каше на чтение нужное к-во строк ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2013, 08:27
|
|||
---|---|---|---|
Как прочитать файл с конца? |
|||
#18+
gluconat_caя каше не читал, но ... :) Тогда зачем советовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2013, 08:46
|
|||
---|---|---|---|
|
|||
Как прочитать файл с конца? |
|||
#18+
П.С.М.gluconat_caя каше не читал, но ... :) Тогда зачем советовать? Во первых "не читал каше" не означает "не знаком с М". Во вторых, если мой "совет" в каше возможен, то зачем тогда замечание "зачем советовать?" И в третьих - П.С.М нет в списке модераторов, так что ... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2013, 10:14
|
|||
---|---|---|---|
Как прочитать файл с конца? |
|||
#18+
Вариант с tail вполне допустим, напримерdo ##class(%Net.Remote.Utility).RunCommandViaCPIPE("tail ..\cconsole.log",,.s) write s,!выводит последние 10 записей файла cconsole.log . PS: утилиту tail.exe под Windows можно найти здесь . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
18.10.2013, 10:18
|
|||
---|---|---|---|
|
|||
Как прочитать файл с конца? |
|||
#18+
на примере из главы 4 (Local Interprocess Communication) Cashe I/O Device Guide. как-то такgettail ;n -кол-во строк ;file - откуда SET IO="/usr/bin/tail -n "_n_" "_file SET $ZTRAP="EOT" OPEN IO:"Q" USE IO FOR I=1:1 READ TAIL(I) QUIT EOT SET $ZTRAP="" USE 0 CLOSE IO QUIT ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=39&mobile=1&tid=1557044]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 333ms |
total: | 480ms |
0 / 0 |