
Gostaria de realizar a substituição de comandos antes da expansão das chaves, mas não consegui:
$ ls {$(seq -s , 13 20)}.pdf
ls: cannot access {13,14,15,16,17,18,19,20}.pdf: No such file or directory
Como eu posso fazer isso?
Responder1
Você simplesmente precisa usar o eval
shell integrado:
$ eval ls {$(seq -s , 13 20)}.pdf
Para onde eval
leva os argumentos passados para ele:
ls {$(seq -s , 13 20)}.pdf
e os concatena em um único comando:
ls {13,14,15,16,17,18,19,20}.pdf
que é então lido e executado pelo shell.
$ eval ls {$(seq -s , 13 20)}.pdf
13.pdf 14.pdf 15.pdf 16.pdf 17.pdf 18.pdf 19.pdf 20.pdf
Responder2
você tentou
ls $(seq -f %.0f.pdf 13 20 )
-f
fornece a string de formato.0f
para 0 dígito decimal flutuante.pdf
óbvio
(e você conhece a sintaxe $( ))