argumento ausente para '-exec'

1

Estou tentando executar o seguinte comando:

webpack &&
    cp -r i18n build/i18n &&
    cp -r core build/core &&
    cp -r views build/views &&
    cp -r styles build/styles &&
    find ./components -iname \"*.html\" -exec rsync -R '{}' ./build/ \;

e está retornando após a mensagem de erro:

find: missing argument to '-exec'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: 'webpack && cp -r i18n 
build/i18n && cp -r core build/core && cp -r views build/views && cp -r 
styles build/styles && find ./components -iname "*.html" -exec echo '{}' 
./build/ \;'
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script 'webpack && 
cp -r i18n build/i18n && cp -r core build/core && cp -r views build/views && 
cp -r styles build/styles && find ./components -iname "*.html" -exec echo 
'{}' ./build/ \;'.
    
por Sudiksha Nagvanshi 18.04.2017 / 19:07

1 resposta

2

  1. O primeiro erro de sintaxe que notei é \; . Deve ser \; , que é um ponto-e-vírgula literal ; para finalizar a instrução -exec .

  2. O diretório precisa de uma barra à direita, para que find procure dentro dele.

  3. E, como mencionado @steeldriver, \"*.html\" deve ser apenas "*.html" , a menos que você esteja procurando arquivos html com aspas em seus nomes de arquivo.

Então, na íntegra:

find ./components/ -iname "*.html" -exec rsync -R '{}' ./build/ \;
    
por wjandrea 18.04.2017 / 19:14