中括弧を拡張する前にコマンド置換を実行したいのですが、次のことはできません。
$ ls {$(seq -s , 13 20)}.pdf
ls: cannot access {13,14,15,16,17,18,19,20}.pdf: No such file or directory
どうすればいいですか?
答え1
eval
組み込みシェルを使用するだけです。
$ eval ls {$(seq -s , 13 20)}.pdf
eval
渡されたパラメータはどこにありますか?
ls {$(seq -s , 13 20)}.pdf
これを1つのコマンドで接続します。
ls {13,14,15,16,17,18,19,20}.pdf
その後、シェルから読み込んで実行します。
$ eval ls {$(seq -s , 13 20)}.pdf
13.pdf 14.pdf 15.pdf 16.pdf 17.pdf 18.pdf 19.pdf 20.pdf
答え2
試してみましたか?
ls $(seq -f %.0f.pdf 13 20 )
-f
フォーマット文字列を提供します.0f
小数点以下の桁数が0の浮動小数点数の場合.pdf
確かに
(そしてあなたは$()構文を知っています)