查找并执行文件whit()

时间:2018-08-29 04:21:26

标签: json bash shell unix

我有这个文件。

1.json3
1(1).json3
1(2).json3

当我运行此命令时

find . -type f -name '*.json3' -exec sh -c 'curl -X POST -H "Content-Type: application/json" -d @{} https://api.myweb.com/api > {}.ml' \;

结果就是这个

sh: 1: Syntax error: "(" unexpected

我认为是(1)。 如何执行这样的查找? 谢谢

1 个答案:

答案 0 :(得分:1)

您必须引用替换后将包含括号的参数(就像您对Content-Type:参数所做的那样),以便外壳程序不尝试解析特殊字符(请注意:有两个地方我在其中插入引号的地方):

find . -type f -name '*.json3' -exec sh -c 'curl -X POST -H "Content-Type: application/json" -d "@{}" https://api.myweb.com/api > "{}.ml"' \;