У меня была эта проблема в течение длительного времени, поэтому я решил поделиться своим решением.
Проблема заключалась в том, что Google Chrome работает в фоновом режиме и не закрывается при выключении компьютера. Поэтому лучшее решение — отключить эту функцию.
Это решило это для меня. Надеюсь, поможет.
Да, вас убивает буферизация :sed пытается прочитать строку .
Это может помочь:
input=""
netcat xxx | while IFS= read -r -d "" -n 1 char; do
input+=$char
if [[ $input == *" " ]]; then
echo "${input% }"
output=""
fi
done | yourscript.sh
Во-вторых, awk было бы лучше :определить разделитель входных записей равным 4 пробелам и печатать каждую запись (несколько символов -RS — это функция GNU awk)
netcat xxx | gawk -v RS=" " 1 | yourscript.sh
Этот бесконечный -однострочный ввод -можно смоделировать с помощью функции bash:
netcat() { while true; do printf '%d ' $RANDOM; done; }