У меня работает демон Vowpal Wabbit, который я запустил с помощью следующей команды:
vw -i X_b123.model -t --quiet --daemon --port 26542 -r /dev/stdout
Затем я пытаюсь отправить что-то демону:
echo 'somedataforwovpal' | netcat localhost 26542 -q1
Я получаю ответ, вот так (обе строки - это ответ):
1:-0.0268077 2:-0.0990701 3:-0.154975
2
Пока все идеально и правильно.
Что я хочу, это просто отправить этот вывод в файл. И это то, что сводит меня с ума. Зачем? Обычно я делаю это просто, отправив stdout в файл, подобный этому:
echo 'somedataforwovpal' | netcat localhost 26542 -q1 > myfile.txt
Ну, это работало только частично. Файл был создан, но он содержит только вторую строку вывода (только число 2 ) и первую строку 1: -0.0268077 2: -0.0990701 3: -0.154975 по-прежнему печать на консоль.
Итак, моя идея заключалась в том, что вторая часть собирается в stderr, поэтому я попробовал несколько следующих способов сохранить вывод stderr / stdout:
echo 'somedataforwovpal' | netcat localhost 26542 -q1 2> myfile.txt
echo 'somedataforwovpal' | netcat localhost 26542 -q1 2>&1 > myfile.txt
echo 'somedataforwovpal' | netcat localhost 26542 -q1 &> myfile.txt
echo 'somedataforwovpal' | netcat localhost 26542 -q1 > myfile.txt 2>&1
echo 'somedataforwovpal' | netcat localhost 26542 -q1 >> myfile.txt
script -c "echo '1 |w auto_t dum_qt |f auto_t dum_qt |m qm_pos_2' | netcat localhost 26542 -q1" myfile.txt
Не сработало, все так же. Ни один из этих методов, как вы можете видеть, я даже не пробовал сценарий, но все же. Это действительно сводит меня с ума, пожалуйста, есть кто-нибудь, кто мог бы спасти меня?