
Estoy intentando utilizar la salida de un comando como argumentos:
El comando:
/home/alexandre/dropbox.py exclude add ls | grep -v photos
Tengo que agregar una lista de archivos, por ejemplo:
/home/alexandre/dropbox.py exclude add a.txt b.txt c.txt
ls | grep -v photos
Me dará una lista de todos los archivos excepto la carpeta photos
.
Pero si uso mi comando, el comando agrega exclusión para el archivo ls
(que no existe, quiero ejecutar el comando ls
).
¿Alguien sabe cómo hacer eso?
Respuesta1
Lo que buscas es ejecutar el comando en un subshell, como:
/home/alexandre/dropbox.py exclude add $(ls | grep -v photos)
Respuesta2
Usar find
:
find . -path ./photos -prune -o -type f -iname '*.txt' -exec /home/alexandre/dropbox.py exclude add {} +