|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#18+
Подскажите, пожалуйста? Хочу, к примеру, последние 10 строк вывести.. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 10:40 |
|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#18+
coder1cv8Подскажите, пожалуйста? Хочу, к примеру, последние 10 строк вывести.. у стримов есть метод MoveTo, который переместит позицию чтения в нужное вам место, вот и двигайте ее в нужное место, вот только так чтобы последние 10 строк не получится, проще вам сами прочитать все построчно с самого начала, или с конца читать блоками например по 100 символов и считать сколько там переводов строки. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 10:46 |
|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#18+
А можно примерчик? авторs stream = ##class(%FileCharacterStream).%New() s stream.Filename = fileName d stream.MoveToEnd() Дальше while пока что? Пусть не количество строк будет, а читаем пока не встретим определенного содержания строку, так проще? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 10:52 |
|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#18+
если ты переместишься в конец, то читать уже будет нечего там уже конец файла, нет чтения в обратном порядке. поэтому нужно сдвинуться на позицию Size-100, прочитать 100 символов, проверить, если нужно еще, двигаемся еще назад Size-200 и опять читаем 100, проверяем и так далее, пока не найдем нужные нам данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 10:54 |
|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#18+
DAiMor , а! дошло. Спасибо! Проще тогда с начала весь файл прочитать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 10:59 |
|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#18+
я каше не читал, но ... :) а что под линуксом нельзя используя пайпы и команду tail передать каше на чтение нужное к-во строк ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 12:50 |
|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#18+
gluconat_caя каше не читал, но ... :) Тогда зачем советовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 08:27 |
|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#18+
П.С.М.gluconat_caя каше не читал, но ... :) Тогда зачем советовать? Во первых "не читал каше" не означает "не знаком с М". Во вторых, если мой "совет" в каше возможен, то зачем тогда замечание "зачем советовать?" И в третьих - П.С.М нет в списке модераторов, так что ... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 08:46 |
|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#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:14 |
|
Как прочитать файл с конца?
|
|||
---|---|---|---|
#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 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2013, 10:18 |
|
|
start [/forum/topic.php?fid=39&msg=38432249&tid=1557044]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
79ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 183ms |
0 / 0 |