Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
Напр. file.txt состоит из 20-ти строк. Нужно удалить 1-ые 5, оставив последние 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 23:00 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
Так как желаемый ЯП не указан, предлагаю sed и tail, которые вполне справятся с указанной задачей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 23:47 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
Stasonix, Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 06:08 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
vkleТак как желаемый ЯП не указан, предлагаю sed и tail, которые вполне справятся с указанной задачей. +1. Я седом пользуюсь, как более универсальным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 10:02 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
r u, для больших файлов не вариант ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 10:34 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
Stasonixfile.txt состоит из 20-ти строк. artasдля больших файлов не вариант где вы увидели большие файлы?)) для больших я бы предложил другой вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 10:36 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
r uStasonixfile.txt состоит из 20-ти строк. artasдля больших файлов не вариант где вы увидели большие файлы?)) для больших я бы предложил другой вариант. А как быть с большими текстовыми файлами используя только php (т.е. без system, exec и т.п) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 11:01 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
phpzА как быть с большими текстовыми файлами используя только php (т.е. без system, exec и т.п) ? читать построчно, писать блоками.. fopen(), fgets() fwrite() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 11:06 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
r uphpzА как быть с большими текстовыми файлами используя только php (т.е. без system, exec и т.п) ? читать построчно, писать блоками.. fopen(), fgets() fwrite() Допустим есть текстовой файл и в нем 500 000 строк. Неужели для того, чтобы удалить первые 5 строк, нужно прочитать и записать последующие 499 995, которые вообще не никак не изменяются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 11:40 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
phpzДопустим есть текстовой файл и в нем 500 000 строк. Неужели для того, чтобы удалить первые 5 строк, нужно прочитать и записать последующие 499 995, которые вообще не никак не изменяются? что в вашем понимании УДАЛИТЬ 5 строк? если просто удалить информацию из строк и записать вместо неё пустые строки - то можно остальные и не перезаписывать. а если нужно именно удалить, тоесть чтобы первой строкой стала пятая, второй шестая и т.д. то без перезаписи никак. что есть файл? именованная область памяти. эта область начинается по вполне определенному адресу. размер может меняться, а начало файла остается неизменным. если меняется адрес начала - то это уже другой файл. или вы знаете другой способ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 11:58 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
r uStasonixfile.txt состоит из 20-ти строк. artasдля больших файлов не вариант где вы увидели большие файлы?))А где видно что файлы маленькие? Двадцать строк по сто миллионов символов в каждой так и будут двадцатью строками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 12:08 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
vkleА где видно что файлы маленькие? Двадцать строк по сто миллионов символов в каждой так и будут двадцатью строками. часто сталкиваетесь с такими текстовыми файлами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 12:37 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
r uphpzДопустим есть текстовой файл и в нем 500 000 строк. Неужели для того, чтобы удалить первые 5 строк, нужно прочитать и записать последующие 499 995, которые вообще не никак не изменяются? что в вашем понимании УДАЛИТЬ 5 строк? если просто удалить информацию из строк и записать вместо неё пустые строки - то можно остальные и не перезаписывать. а если нужно именно удалить, тоесть чтобы первой строкой стала пятая, второй шестая и т.д. то без перезаписи никак. что есть файл? именованная область памяти. эта область начинается по вполне определенному адресу. размер может меняться, а начало файла остается неизменным. если меняется адрес начала - то это уже другой файл. или вы знаете другой способ? В данном примере удалить строку значит именно удалить и сместить все последующие "вверх", а не как перезаписать строку пустым значением. Я прекрасно понимаю, что тут без перезаписи никак и в своем предыдущем вопросе обратил внимание на резонность построчного чтения всего файла. Как вариант, думаю будет быстрее прочитать первые (N+1)*1024 байт данных в буффер (N кол-во удаляемых строк), вычислить и установить смещение в файле на позицию с которой начинается (N+1) строка, и далее прочитать и записать оставшиеся данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 12:39 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
phpzВ данном примере удалить строку значит именно удалить и сместить все последующие "вверх", а не как перезаписать строку пустым значением. Я прекрасно понимаю, что тут без перезаписи никак и в своем предыдущем вопросе обратил внимание на резонность построчного чтения всего файла. Как вариант, думаю будет быстрее прочитать первые (N+1)*1024 байт данных в буффер (N кол-во удаляемых строк), вычислить и установить смещение в файле на позицию с которой начинается (N+1) строка, и далее прочитать и записать оставшиеся данные. в целом я согласен. если нужна экстримальная производительность, то конечно лучше заточить решение конкретно под задачу. и все же, построчно работать небудет? будет! остальное уже относится к оптимизации. совершенству нет предела. но если модно цепляться к словам - то я тоже могу: -почему именно 1024? у vkle вон в строке по "сто миллионов символов" лежит. -вычисление смещения, придется делать вручную, а это тоже время. -остальные N+1 часть файла же все равно придется читать и потом перезаписывать! -чтоб проверить что быстрее - жду листинга вашего варианта. я свой привел еще вначале. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 12:52 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
r uvkleА где видно что файлы маленькие? Двадцать строк по сто миллионов символов в каждой так и будут двадцатью строками. часто сталкиваетесь с такими текстовыми файлами?Бывает иногда, "всего десяток табличек" в дампе метров эдак на пятьсяот... К счастью, довольно редко :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 13:11 |
|
||
|
Как удалить начальные строки файла?
|
|||
|---|---|---|---|
|
#18+
r uв целом я согласен. если нужна экстримальная производительность, то конечно лучше заточить решение конкретно под задачу. и все же, построчно работать небудет? будет! остальное уже относится к оптимизации. совершенству нет предела. но если модно цепляться к словам - то я тоже могу: -почему именно 1024? у vkle вон в строке по "сто миллионов символов" лежит. -вычисление смещения, придется делать вручную, а это тоже время. -остальные N+1 часть файла же все равно придется читать и потом перезаписывать! -чтоб проверить что быстрее - жду листинга вашего варианта. я свой привел еще вначале. Ну так это у vkle перевод строки не работает, а в нормальных файлах все строки короче :-) Ну ладно, шутки шутками, а 1024 я по памяти взял: вроде fgets по дефолту 1024 символов или до перевода строки читает. Конец файла конечно читать и потом перезаписывать придется, но только не fgets, а либо блоками или, что еще лучще, за один раз (filesize()-$start_pos). Сравнивайте не ваш код, а вариант построчного чтения всего файла (fgets), о котором мы говорим. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.06.2013, 13:54 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38299224&tid=1463698]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 423ms |

| 0 / 0 |
