pipe como argumentos

pipe como argumentos

Estou tentando usar a saída de um comando como argumento:

O comando: /home/alexandre/dropbox.py exclude add ls | grep -v photos

Tenho que adicionar uma lista de arquivos, por exemplo:

/home/alexandre/dropbox.py exclude add a.txt b.txt c.txt

ls | grep -v photosme dará uma lista de todos os arquivos, exceto a pasta photos.

Mas se eu usar meu comando, o comando adiciona exclusão para o arquivo ls(que não existe, quero executar o comando ls).

Alguém sabe como fazer isso?

Responder1

O que você procura é executar o comando em um subshell, como:

/home/alexandre/dropbox.py exclude add $(ls | grep -v photos)

Responder2

Usar find:

find . -path ./photos -prune -o -type f -iname '*.txt' -exec /home/alexandre/dropbox.py exclude add {} +

informação relacionada