Найти и выполнить файлы whit () - PullRequest
0 голосов
/ 29 августа 2018

У меня были эти файлы.

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). Как выполнить поиск, как это? Thx

1 Ответ

0 голосов
/ 29 августа 2018

Вы должны заключать в кавычки аргументы, которые будут содержать круглые скобки после подстановки - как вы делали для аргумента 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"' \;
...