вывод netcat в отдельные файлы с помощью разделителей строк

Я хочу, чтобы netcat передавал выходные данные tcp / ip-соединения командам, которые проверяют выходные данные и разбивают их на отдельные файлы, разделенные строками "msg" и "/ msg " из выходных данных, что-то вроде

nc host port | while :
do
split 'msg' '/msg' > timestamp.txt
done

но я не могу получить синтаксис право. В идеальном мире мне также хотелось бы, чтобы весь вывод nc добавлялся в другой файл, скажем big_data.формат txt. Может быть, я должен использовать команду grep?

Я знаю, как отправить вывод nc в файл и могу решить, как его разделить, но файл будет продолжать добавлять в течение 12 часов каждый день. Кроме того, я думаю, что более эффективно разделить данные по мере их поступления.

2
задан Matthieu Poullet
11.01.2023 22:18 Количество просмотров материала 3026
Распечатать страницу

1 ответ

Я сделал все это на R.

    stream_processor <- function(host_,port)
     con2 <- socketConnection(host=host_, port=port_)
    # as non-blocking, may need to loop for input
    readLines(con2)
    while(isIncomplete(con2)) {
        Sys.sleep(1)
        z <- unlist(readLines(con2,1000))
     write(z, file=paste(make.names(date()),'.stream',sep=''))
  }
}
1
отвечен Yoda 2023-01-13 06:06

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

awk
command-line
grep
netcat
sed
Вверх