我有以下命令:
curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' -d'
{
"query": { "match_all": {} },
"sort": [
{ "account_number": "asc" }
],
"from": 10,
"size": 10
}
'
我正试着把它分成两部分,一部分将保存在一个文件中。所以我可以这样运行:
curl -X GET "localhost:9200/bank/_search?pretty" file.txt
我怎样才能做到这一点?
要发送来自文件的数据,而不是命令行参数,请使用-d@file.txt
:
curl -X GET "localhost:9200/bank/_search?pretty" -d@file.txt
来自curl(1)
手册页:
如果您以字母
@
开始数据,其余的应该是a如果希望curl读取数据,则使用-
来自stdin的数据。从名为"foobar"的文件发布数据因此,-d
,--data
,@foobar
。当-d
时,--data
为被告知从这样的文件中读取,回车和new‐行将被剥离。
对于JSON,像这样剥离换行符并不重要。
可以就地读取文件
curl -X GET "localhost:9200/bank/_search?pretty" $(cat file.txt)