Je suis en train d'exécuter la commande suivante, et rien ne s'envoyé à netcatEnvoyer la sortie de la queue rassemblés de netcat à
tail -F file.txt | grep test | nc host 9999
Si je retire le grep, la queue est suivi avec succès et envoyé à netcat.
Si je viens de lancer ce qui suit, les données revient, donc je sais que les données doivent être envoyées à obtenir la conduite nc:
tail -F file.txt | grep test
Toutes les idées?
MISE À JOUR
J'ajouté ce qui suit à Unbuffer la sortie canalisé et rien ne passe par:
tail -F file.txt | stdbuf -o0 grep test | nc host 9999
Lorsque j'allume en mémoire tampon de ligne, la sortie est coupée
tail -F file.txt | grep --line-buffered test | nc host 9999
Où
workid: ID:ITEST_HGR1-EMS12103.1A156BB6CEB1:10F76E5D
est envoyé comme
workid: ID:ITEST_HGR1-EMS12103.1A156BB6CEB1:10F7
cela m'a rapproché, sauf qu'il semble que les lignes sont coupées. Par exemple, nc listener imprime maintenant: workid: ID: ITEST_HGR1-EMS12103.1A156BB6CEB1: 10F7 alors que la sortie grepped réelle devrait être workid: ID: ITEST_HGR1-EMS12103.1A156BB6CEB1: 10F76E5D – 75inchpianist
J'ai essayé d'ajouter stdbuf -o0 avant l'instruction grep et rien ne passe par – 75inchpianist
Si vous supprimez netcat sont les lignes coupées, ou pas? –