1

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

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

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

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

1 ответ1

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=''))
  }
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .