tubería como argumentos

tubería como argumentos

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 photosMe 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 {} +

información relacionada