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.text
ya existe, se imprimirá una advertencia, ya que combined.text
se creará antes del inicio find
y 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