问题描述
我使用以下命令将文件重定向到 docker 容器内的 kafka-console-producer:
function eventListeners(){
document.querySelector("#note").addEventListener("keypress",function (e){
if (e.key === "Enter"){
newNote();
}
})
}
由于 docker exec -i $(docker ps -a | grep "cluster-1-kafka" | grep Up | awk '{print $1}') bash -c " \
printf '%s\n%s\n' 'security.protocol=PLAINTEXT' 'sasl.mechanism=PLAIN' > prop && \
kafka-console-producer --producer.config=prop --bootstrap-server localhost:9092 --topic events" < message.json
将文件中的每一行都视为单独的消息,因此我需要使用 kafka-console-producer
从文件中删除换行符
如何将 tr -d '\n' < message.json
输出重定向到 tr
输入?
解决方法
不确定您是否应该使用 tr
,因为任何错误的调用都会破坏您的 JSON。改用jq
例如,< <(jq -c . < message.json)
用 < <(tr -d '\n' < message.json)