pipe como argumentos

1

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

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

Eu tenho que adicionar uma lista de arquivos, por exemplo:

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

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

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

Alguém sabe como fazer isso?

    
por anubis 06.11.2015 / 00:56

2 respostas

1

O que você está procurando é executar o comando em um subshell, como:

/home/alexandre/dropbox.py exclude add $(ls | grep -v photos)
    
por 06.11.2015 / 01:00
0

Use find :

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

    
por 06.11.2015 / 01:09