Parece que no se pueden concatenar varios archivos en diferentes directorios

Parece que no se pueden concatenar varios archivos en diferentes directorios

Estoy intentando concatenar varios archivos que se encuentran en diferentes directorios usando el siguiente comando:

~$ find . -name ‘*.text’ -exec cat {} >> combined.text \;

Sin embargo, no parece funcionar porque recibo una respuesta como:

find: missing argument to `-exec'

¿Hay algo que pueda haberme perdido?

¡Gracias!

Respuesta1

Está utilizando comillas Unicode: ‘’en lugar de comillas normales ( ''). Pruebe este comando en su lugar:

find . -name '*.text' -exec cat {} +  >> combined.text

Sin embargo, si combined.textya existe, se imprimirá una advertencia, ya que combined.textse creará antes del inicio findy el comando la encontrará find:

$ find . -name '*.text' -exec cat {} +  >> combined.text
cat: ./combined.text: input file is output file

Puedes evitarlo con:

find . -name '*.text' ! -name combined.text -exec cat {} + >> combined.text

información relacionada