Você precisa encerrar a chamada -exec
com \;
. Isso deve fazer o truque.
find "path to directory" -name '*.abc' -exec ./ConvertFile {} "output_directory" \;
Eu tenho um script perl que converte um arquivo para o formato json e grava a saída em um diretório separado. Aceita 2 parâmetros, nome do arquivo e diretório de saída. O script precisa ser executado em vários arquivos que terminam com uma extensão específica, como .abc.
Eu quero localizar todos os arquivos em um diretório específico com extensão .abc e executar meu script. Eu estou tentando executar a partir da linha de comando
find "path to directory" -name '*.abc' -exec ./ConvertFile {} "output_directory"
O comando retorna find: missing argument to '-exec'
Eu sou novo em ambos os scripts perl e shell. Eu poderia executar o script em cada arquivo individual. No entanto, pode haver dezenas de arquivos em qualquer diretório e eles precisarão ser convertidos rapidamente porque os arquivos originais são alterados com frequência. Alguém pode me dizer o que está errado com a minha entrada na linha de comando? Obrigado
Você precisa encerrar a chamada -exec
com \;
. Isso deve fazer o truque.
find "path to directory" -name '*.abc' -exec ./ConvertFile {} "output_directory" \;
Tags find shell-script