
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 photos
me 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 {} +