curl / xargs / influxdb - 从文本文件生成 cli 参数
curl / xargs / influxdb - generate cli argument from text file
我有这样的文件 data.txt
:
ecgtimeseries value=-0.145 1441114274130
ecgtimeseries value=-0.145 1441114274133
ecgtimeseries value=-0.145 1441114274136
ecgtimeseries value=-0.145 1441114274139
ecgtimeseries value=-0.145 1441114274142
我需要根据data.txt
的内容生成这个InfluxDB命令:
curl -i -XPOST 'http://192.168.99.100:8086/write?db=ecg&precision=ms' --data-binary 'ecgtimeseries value=-0.145 1441114274130
ecgtimeseries value=-0.145 1441114274133
ecgtimeseries value=-0.145 1441114274136
ecgtimeseries value=-0.145 1441114274139
ecgtimeseries value=-0.145 1441114274142'
这是我第一次尝试解决方案(xargs
):
$ cat data.txt | xargs -0 -t curl -i -XPOST 'http://192.168.99.100:8086/write?db=ecg&precision=ms' --data-binary
curl -i -XPOST http://192.168.99.100:8086/write?db=ecg&precision=ms --data-binary ecgtimeseries value=-0.145 1441114274130
ecgtimeseries value=-0.145 1441114274133
ecgtimeseries value=-0.145 1441114274136
ecgtimeseries value=-0.145 1441114274139
ecgtimeseries value=-0.145 1441114274142
但是,因为我不知道如何同时生成那些包含数据的撇号,所以该命令没有按预期运行。
有什么想法吗?
为了使用 curl
将文件传递给 InfluxDB,请使用 @<filename>
语法,如 write syntax doc 的 "Write a Batch of Points with curl" 部分所述。
例如:
curl -i -XPOST 'http://192.168.99.100:8086/write?db=ecg&precision=ms' --data-binary @data.txt
@<filename>
语法是 curl
的一部分,因此如果您遇到困难,请查看 curl
联机帮助页。请注意,您的文件不能有回车符 returns 0x0D
,只有换行符 0x0A
。如果你不在 Windows 机器上,你应该没问题。
我有这样的文件 data.txt
:
ecgtimeseries value=-0.145 1441114274130
ecgtimeseries value=-0.145 1441114274133
ecgtimeseries value=-0.145 1441114274136
ecgtimeseries value=-0.145 1441114274139
ecgtimeseries value=-0.145 1441114274142
我需要根据data.txt
的内容生成这个InfluxDB命令:
curl -i -XPOST 'http://192.168.99.100:8086/write?db=ecg&precision=ms' --data-binary 'ecgtimeseries value=-0.145 1441114274130
ecgtimeseries value=-0.145 1441114274133
ecgtimeseries value=-0.145 1441114274136
ecgtimeseries value=-0.145 1441114274139
ecgtimeseries value=-0.145 1441114274142'
这是我第一次尝试解决方案(xargs
):
$ cat data.txt | xargs -0 -t curl -i -XPOST 'http://192.168.99.100:8086/write?db=ecg&precision=ms' --data-binary
curl -i -XPOST http://192.168.99.100:8086/write?db=ecg&precision=ms --data-binary ecgtimeseries value=-0.145 1441114274130
ecgtimeseries value=-0.145 1441114274133
ecgtimeseries value=-0.145 1441114274136
ecgtimeseries value=-0.145 1441114274139
ecgtimeseries value=-0.145 1441114274142
但是,因为我不知道如何同时生成那些包含数据的撇号,所以该命令没有按预期运行。
有什么想法吗?
为了使用 curl
将文件传递给 InfluxDB,请使用 @<filename>
语法,如 write syntax doc 的 "Write a Batch of Points with curl" 部分所述。
例如:
curl -i -XPOST 'http://192.168.99.100:8086/write?db=ecg&precision=ms' --data-binary @data.txt
@<filename>
语法是 curl
的一部分,因此如果您遇到困难,请查看 curl
联机帮助页。请注意,您的文件不能有回车符 returns 0x0D
,只有换行符 0x0A
。如果你不在 Windows 机器上,你应该没问题。