LINUX.ORG.RU

Напомните команду - получить новые строки из файла


0

3

Точно помню, что много лет назад использовал маленькую утилиту, которая позволяла получить строки, которые добавлены в файл с последнего обращения...

Никак не могу вспомнить название, напомните плиз!

Но нет, это не diff и не svn :)

Ответ на: комментарий от batekman

tail это НАБЛЮДЕНИЕ, кроме того, часто можно tailf

мне же надо именно забрать новые строки и отвалиться от файла

EuGeneus ★★
() автор топика
Ответ на: комментарий от Lavos

Lavos, ну понятно что можно сделать 'cat log | wc l', но вы же понимаете? ;)

Ок, давайте для направления мыслей в нужное русло предположим что файл - без переносов строк.

EuGeneus ★★
() автор топика
Ответ на: комментарий от EuGeneus

Ок, давайте для направления мыслей в нужное русло предположим что файл - без переносов строк.

Тогда задача «получить новые строки из файла» сводится к

echo ""

Уточните формулировки.

Deleted
()
Ответ на: комментарий от EuGeneus

Ну, например на ext2,3,4 никак нигде не фиксируется какие данные были добавлены в файл за последнее изменение. Потому и утилитки такой быть не может.
Если только костыли какие-нибудь - мониторят обращения к файлу и где-то у себя схороняют информацию об изменениях.

Lavos ★★★★★
()

Но нет, это не diff и не svn

Это таки diff и svn и hg и git
и tail -F

Bad_ptr ★★★★★
()

Сохраняй, между запусками, номер последней прочитанной строки, тогда сможешь узнать откуда начинаются новые строки.

sdio ★★★★★
()
Ответ на: комментарий от sdio

Я походу не проснулся - команда _вероятно_ была в AIX

- не найду - напишу.

P.S. Номера строк не удобно, длина логов может быть несколько Гб

EuGeneus ★★
() автор топика
Последнее исправление: EuGeneus (всего исправлений: 1)
Ответ на: комментарий от EuGeneus

команда _вероятно_ была в AIX

Не припоминаю такую, но команда по-любому должна где-то сохранять предыд. размер файла и в след. раз делать seek к этому размеру. Можешь для этого использовать dd и пару-тройку строк на $SHELL

sdio ★★★★★
()
Ответ на: комментарий от sdio

Ну знаю я что на bash можно взять размер и открыв файл сделать seek, read, потом сохранить новый file length

Но оно уже есть, просто надо вспомнить 3-4 буквы и выстроить их в верном порядке.

EuGeneus ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.