
Me gustaría realizar la sustitución de comandos antes de la expansión de llaves, pero no pude:
$ ls {$(seq -s , 13 20)}.pdf
ls: cannot access {13,14,15,16,17,18,19,20}.pdf: No such file or directory
¿Cómo puedo hacerlo?
Respuesta1
Simplemente necesitas usar el eval
shell incorporado:
$ eval ls {$(seq -s , 13 20)}.pdf
De dónde eval
se toman los argumentos que se le pasan:
ls {$(seq -s , 13 20)}.pdf
y los concatena en un solo comando:
ls {13,14,15,16,17,18,19,20}.pdf
que luego es leído y ejecutado por el shell.
$ eval ls {$(seq -s , 13 20)}.pdf
13.pdf 14.pdf 15.pdf 16.pdf 17.pdf 18.pdf 19.pdf 20.pdf
Respuesta2
has probado
ls $(seq -f %.0f.pdf 13 20 )
-f
da la cadena de formato.0f
para 0 dígitos decimales flotantes.pdf
obvio
(y conoces la sintaxis de $( ))