Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как прочитать файл с конца? / 10 сообщений из 10, страница 1 из 1
17.10.2013, 10:40
    #38430840
coder1cv8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
Подскажите, пожалуйста?
Хочу, к примеру, последние 10 строк вывести..
...
Рейтинг: 0 / 0
17.10.2013, 10:46
    #38430852
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
coder1cv8Подскажите, пожалуйста?
Хочу, к примеру, последние 10 строк вывести..
у стримов есть метод MoveTo, который переместит позицию чтения в нужное вам место, вот и двигайте ее в нужное место,
вот только так чтобы последние 10 строк не получится, проще вам сами прочитать все построчно с самого начала, или с конца читать блоками например по 100 символов и считать сколько там переводов строки.
...
Рейтинг: 0 / 0
17.10.2013, 10:52
    #38430863
coder1cv8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
А можно примерчик?

авторs stream = ##class(%FileCharacterStream).%New()
s stream.Filename = fileName
d stream.MoveToEnd()

Дальше while пока что?
Пусть не количество строк будет, а читаем пока не встретим определенного содержания строку, так проще?
...
Рейтинг: 0 / 0
17.10.2013, 10:54
    #38430867
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
если ты переместишься в конец, то читать уже будет нечего там уже конец файла, нет чтения в обратном порядке.
поэтому нужно сдвинуться на позицию Size-100, прочитать 100 символов, проверить, если нужно еще, двигаемся еще назад Size-200 и опять читаем 100, проверяем и так далее, пока не найдем нужные нам данные.
...
Рейтинг: 0 / 0
17.10.2013, 10:59
    #38430876
coder1cv8
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
DAiMor , а! дошло. Спасибо!
Проще тогда с начала весь файл прочитать.
...
Рейтинг: 0 / 0
17.10.2013, 12:50
    #38431080
gluconat_ca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
я каше не читал, но ... :)
а что под линуксом нельзя используя пайпы и команду tail передать каше на чтение нужное к-во строк
...
Рейтинг: 0 / 0
18.10.2013, 08:27
    #38432235
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
gluconat_caя каше не читал, но ... :)
Тогда зачем советовать?
...
Рейтинг: 0 / 0
18.10.2013, 08:46
    #38432249
gluconat_ca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
П.С.М.gluconat_caя каше не читал, но ... :)
Тогда зачем советовать?
Во первых "не читал каше" не означает "не знаком с М".
Во вторых, если мой "совет" в каше возможен, то зачем тогда замечание "зачем советовать?"
И в третьих - П.С.М нет в списке модераторов, так что ...
...
Рейтинг: 0 / 0
18.10.2013, 10:14
    #38432366
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
Вариант с tail вполне допустим, напримерdo ##class(%Net.Remote.Utility).RunCommandViaCPIPE("tail ..\cconsole.log",,.s)
write s,!выводит последние 10 записей файла cconsole.log .

PS: утилиту tail.exe под Windows можно найти здесь .
...
Рейтинг: 0 / 0
18.10.2013, 10:18
    #38432373
gluconat_ca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как прочитать файл с конца?
на примере из главы 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
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как прочитать файл с конца? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]